:root {
  --color-brand: #2f7df6;
  --color-brand-hover: #1f63d6;
  --color-brand-active: #1f63d6;
  --color-brand-soft: #eaf2ff;
  --color-brand-faint: #eaf2ff;
  --color-ai: #6d5cff;
  --color-ai-soft: #f2f0ff;
  --color-warning: #f59e0b;
  --color-warning-soft: #fff7e6;
  --color-danger: #ef4444;
  --color-danger-soft: #fff1f2;
  --color-text: #111827;
  --color-text-soft: #374151;
  --color-muted: #667085;
  --color-subtle: #8a94a6;
  --color-border: #e2e8f0;
  --color-border-strong: #cbd5e1;
  --color-surface: #ffffff;
  --color-surface-soft: #f8fafc;
  --color-page: #fbfdff;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --font-title: 28px;
  --font-h2: 22px;
  --font-h3: 18px;
  --font-body: 15px;
  --font-small: 13px;
  --font-xs: 12px;
  --line-tight: 1.25;
  --line-body: 1.65;
  --shadow-card: 0 8px 22px rgba(15, 23, 42, 0.06);
  --shadow-card-hover: 0 14px 34px rgba(15, 23, 42, 0.11);
  --shadow-floating: 0 22px 60px rgba(15, 23, 42, 0.16);
  --purple: #2f7df6;
  --purple-dark: #1f63d6;
  --purple-light: #eaf2ff;
  --text: #151515;
  --muted: #667085;
  --line: #e7e7ef;
  --panel: #ffffff;
  --bg: #f7f8fb;
  --soft: #f4f3ff;
  --purple-faint: #eaf2ff;
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --shadow-soft: 0 8px 22px rgba(35, 40, 68, 0.08);
  --shadow-pop: 0 18px 48px rgba(30, 34, 58, 0.16);
  --surface-glass: rgba(255, 255, 255, 0.94);
  --panel-border: rgba(47, 125, 246, 0.14);
  --focus-ring: 0 0 0 3px rgba(47, 125, 246, 0.14);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
}

/* Membership purchase flow v145 · desktop only
   Real weekly/yearly/lifetime plans, explicit selection, honest order status. */
@media (min-width: 1024px) {
  body.ds-2026 .modal-mask.vip-purchase-mask {
    z-index: 1200 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(15, 23, 42, 0.42) !important;
    -webkit-backdrop-filter: blur(8px) saturate(105%) !important;
    backdrop-filter: blur(8px) saturate(105%) !important;
  }

  body.ds-2026 .modal.vip-purchase-modal {
    position: relative !important;
    width: min(1020px, calc(100vw - 48px)) !important;
    max-width: 1020px !important;
    max-height: calc(100vh - 48px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden auto !important;
    border: 1px solid rgba(203, 213, 225, 0.9) !important;
    border-radius: 20px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.22), 0 2px 10px rgba(15, 23, 42, 0.08) !important;
    color: #1f2329 !important;
  }

  body.ds-2026 .modal.vip-purchase-modal::before { display: none !important; }

  body.ds-2026 .vip-purchase-head {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    min-height: 104px !important;
    margin: 0 !important;
    padding: 22px 26px !important;
    border-bottom: 1px solid #e7ecf3 !important;
    background: #fff !important;
  }

  body.ds-2026 .vip-purchase-title {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
  }

  body.ds-2026 .vip-purchase-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 13px !important;
    background: #edf4ff !important;
    color: #2563eb !important;
  }

  body.ds-2026 .vip-purchase-icon .ui-icon { width: 22px !important; height: 22px !important; }
  body.ds-2026 .vip-purchase-title > div { min-width: 0 !important; }
  body.ds-2026 .vip-purchase-title em {
    display: block !important;
    margin: 0 0 4px !important;
    color: #2563eb !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 650 !important;
    letter-spacing: .08em !important;
  }

  body.ds-2026 .vip-purchase-title h2 {
    margin: 0 !important;
    color: #101828 !important;
    font-size: 21px !important;
    font-weight: 680 !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em !important;
  }

  body.ds-2026 .vip-purchase-title p {
    margin: 5px 0 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.ds-2026 .vip-purchase-close {
    position: static !important;
    z-index: 5 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    padding: 0 !important;
    border: 1px solid #d9e0ea !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #475467 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body.ds-2026 .vip-purchase-close:hover {
    border-color: #aeb9c8 !important;
    background: #f6f8fb !important;
    color: #101828 !important;
    transform: none !important;
  }

  body.ds-2026 .vip-purchase-close .ui-icon { width: 18px !important; height: 18px !important; }

  body.ds-2026 .vip-purchase-layout {
    display: grid !important;
    grid-template-columns: minmax(340px, 390px) minmax(0, 1fr) !important;
    min-height: 450px !important;
  }

  body.ds-2026 .vip-purchase-chooser {
    min-width: 0 !important;
    padding: 22px 24px 24px !important;
    border-right: 1px solid #e7ecf3 !important;
    background: #f7f9fc !important;
  }

  body.ds-2026 .vip-current-status {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 10px 12px !important;
    border: 1px solid #e0e7f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
  }

  body.ds-2026 .vip-current-status > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    border-radius: 9px !important;
    background: #edf4ff !important;
    color: #2563eb !important;
  }

  body.ds-2026 .vip-current-status .ui-icon { width: 15px !important; height: 15px !important; }
  body.ds-2026 .vip-current-status > div { display: grid !important; gap: 1px !important; min-width: 0 !important; }
  body.ds-2026 .vip-current-status small { color: #98a2b3 !important; font-size: 10px !important; }
  body.ds-2026 .vip-current-status b { color: #4b5563 !important; font-size: 13px !important; font-weight: 650 !important; }
  body.ds-2026 .vip-current-status > em {
    margin-left: auto !important;
    color: #667085 !important;
    font-size: 10px !important;
    font-style: normal !important;
    white-space: nowrap !important;
  }

  body.ds-2026 .vip-plan-options {
    display: grid !important;
    gap: 9px !important;
    margin-top: 12px !important;
  }

  body.ds-2026 .vip-plan-option {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 76px !important;
    padding: 12px !important;
    border: 1px solid #dfe6ef !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: #4b5563 !important;
    text-align: left !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transform: none !important;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease !important;
  }

  body.ds-2026 .vip-plan-option:hover {
    border-color: #b6c5da !important;
    background: #fbfdff !important;
    transform: none !important;
  }

  body.ds-2026 .vip-plan-option.active {
    border-color: #4b83f5 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .08) !important;
  }

  body.ds-2026 .vip-option-radio {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 19px !important;
    height: 19px !important;
    border: 1.5px solid #b8c3d3 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #fff !important;
  }

  body.ds-2026 .vip-plan-option.active .vip-option-radio { border-color: #2563eb !important; background: #2563eb !important; }
  body.ds-2026 .vip-option-radio .ui-icon { width: 12px !important; height: 12px !important; stroke-width: 2.5 !important; }
  body.ds-2026 .vip-option-copy { display: grid !important; gap: 4px !important; min-width: 0 !important; }
  body.ds-2026 .vip-option-copy > span { display: flex !important; align-items: center !important; gap: 7px !important; }
  body.ds-2026 .vip-option-copy b { color: #1d2939 !important; font-size: 14px !important; font-weight: 650 !important; }
  body.ds-2026 .vip-option-copy em {
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: #eef4ff !important;
    color: #2563eb !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 650 !important;
  }
  body.ds-2026 .vip-option-copy small { overflow: hidden !important; color: #7b8799 !important; font-size: 10px !important; line-height: 1.45 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
  body.ds-2026 .vip-option-price { display: grid !important; justify-items: end !important; gap: 1px !important; white-space: nowrap !important; }
  body.ds-2026 .vip-option-price b { color: #101828 !important; font-size: 19px !important; font-weight: 700 !important; letter-spacing: -.03em !important; }
  body.ds-2026 .vip-option-price small { color: #98a2b3 !important; font-size: 9px !important; }

  body.ds-2026 .vip-purchase-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 150px !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 14px !important;
  }

  body.ds-2026 .vip-purchase-summary > div { min-width: 0 !important; }
  body.ds-2026 .vip-purchase-summary > [data-vip-plan-summary]:not([hidden]) { display: flex !important; align-items: end !important; justify-content: space-between !important; gap: 8px !important; }
  body.ds-2026 .vip-purchase-summary > [data-vip-plan-summary][hidden] { display: none !important; }
  body.ds-2026 .vip-purchase-summary span { display: grid !important; gap: 1px !important; }
  body.ds-2026 .vip-purchase-summary small { color: #98a2b3 !important; font-size: 10px !important; }
  body.ds-2026 .vip-purchase-summary span b { color: #4b5563 !important; font-size: 12px !important; }
  body.ds-2026 .vip-purchase-summary strong { color: #101828 !important; font-size: 20px !important; font-weight: 720 !important; }

  body.ds-2026 .vip-purchase-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 150px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid #2563eb !important;
    border-radius: 11px !important;
    background: #2563eb !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .18) !important;
    transform: none !important;
  }

  body.ds-2026 .vip-purchase-cta:hover:not(:disabled) { background: #1d4ed8 !important; border-color: #1d4ed8 !important; transform: none !important; }
  body.ds-2026 .vip-purchase-cta:disabled { cursor: not-allowed !important; opacity: .58 !important; box-shadow: none !important; }

  body.ds-2026 .vip-order-feedback {
    display: grid !important;
    gap: 4px !important;
    margin-top: 12px !important;
    padding: 10px 12px !important;
    border: 1px solid #cfe0ff !important;
    border-radius: 11px !important;
    background: #f2f7ff !important;
  }
  body.ds-2026 .vip-order-feedback[hidden] { display: none !important; }
  body.ds-2026 .vip-order-feedback b { color: #1d4ed8 !important; font-size: 11px !important; }
  body.ds-2026 .vip-order-feedback span { color: #526173 !important; font-size: 10px !important; line-height: 1.55 !important; }
  body.ds-2026 .vip-order-feedback a { width: fit-content !important; color: #2563eb !important; font-size: 10px !important; font-weight: 650 !important; }

  body.ds-2026 .vip-purchase-benefits {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 30px 32px 26px !important;
    background: #fff !important;
  }

  body.ds-2026 .vip-selected-detail[hidden] { display: none !important; }
  body.ds-2026 .vip-detail-kicker { color: #2563eb !important; font-size: 11px !important; font-weight: 650 !important; letter-spacing: .04em !important; }
  body.ds-2026 .vip-selected-detail h3 { max-width: 520px !important; margin: 8px 0 0 !important; color: #101828 !important; font-size: 24px !important; font-weight: 680 !important; line-height: 1.35 !important; letter-spacing: -.025em !important; }

  body.ds-2026 .vip-detail-metrics {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 22px !important;
  }

  body.ds-2026 .vip-detail-metrics > div {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 9px !important;
    min-width: 0 !important;
    padding: 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
  }
  body.ds-2026 .vip-detail-metrics span { grid-row: 1 / 3 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 30px !important; height: 30px !important; border-radius: 9px !important; background: #eaf2ff !important; color: #2563eb !important; }
  body.ds-2026 .vip-detail-metrics .ui-icon { width: 15px !important; height: 15px !important; }
  body.ds-2026 .vip-detail-metrics b { overflow: hidden !important; color: #4b5563 !important; font-size: 11px !important; font-weight: 650 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
  body.ds-2026 .vip-detail-metrics small { margin-top: 2px !important; color: #98a2b3 !important; font-size: 9px !important; }

  body.ds-2026 .vip-detail-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px 14px !important;
    margin-top: 24px !important;
    padding-top: 22px !important;
    border-top: 1px solid #edf0f4 !important;
  }
  body.ds-2026 .vip-detail-list > span { display: flex !important; align-items: center !important; gap: 8px !important; min-width: 0 !important; color: #475467 !important; }
  body.ds-2026 .vip-detail-list .ui-icon { width: 16px !important; height: 16px !important; flex: 0 0 16px !important; color: #2563eb !important; }
  body.ds-2026 .vip-detail-list b { font-size: 12px !important; font-weight: 560 !important; }
  body.ds-2026 .vip-api-source { margin: 18px 0 0 !important; color: #7b8799 !important; font-size: 10px !important; line-height: 1.6 !important; }

  body.ds-2026 .vip-free-baseline {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    margin-top: auto !important;
    padding: 14px !important;
    border: 1px solid #e4e9f0 !important;
    border-radius: 12px !important;
    background: #fafbfd !important;
  }
  body.ds-2026 .vip-free-baseline > span { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 30px !important; height: 30px !important; flex: 0 0 30px !important; border-radius: 9px !important; background: #eef2f7 !important; color: #667085 !important; }
  body.ds-2026 .vip-free-baseline .ui-icon { width: 15px !important; height: 15px !important; }
  body.ds-2026 .vip-free-baseline b { color: #4b5563 !important; font-size: 11px !important; font-weight: 650 !important; }
  body.ds-2026 .vip-free-baseline p { margin: 4px 0 0 !important; color: #7b8799 !important; font-size: 10px !important; line-height: 1.6 !important; }

  body.ds-2026 .vip-purchase-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 54px !important;
    padding: 12px 26px !important;
    border-top: 1px solid #e7ecf3 !important;
    background: #fbfcfe !important;
  }
  body.ds-2026 .vip-purchase-footer > span { display: flex !important; align-items: center !important; gap: 7px !important; color: #7b8799 !important; font-size: 10px !important; }
  body.ds-2026 .vip-purchase-footer > span .ui-icon { width: 14px !important; height: 14px !important; color: #2563eb !important; }
  body.ds-2026 .vip-purchase-footer > div { display: flex !important; align-items: center !important; gap: 14px !important; }
  body.ds-2026 .vip-purchase-footer button { width: auto !important; height: auto !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: #667085 !important; font-size: 10px !important; font-weight: 550 !important; box-shadow: none !important; transform: none !important; }
  body.ds-2026 .vip-purchase-footer button:hover { color: #2563eb !important; transform: none !important; }

  body.ds-2026 .vip-plan-option:focus-visible,
  body.ds-2026 .vip-purchase-cta:focus-visible,
  body.ds-2026 .vip-purchase-close:focus-visible {
    outline: 2px solid rgba(37, 99, 235, .72) !important;
    outline-offset: 2px !important;
  }
}


@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .modal.vip-purchase-modal { width: calc(100vw - 32px) !important; max-height: calc(100vh - 32px) !important; }
  body.ds-2026 .vip-purchase-layout { grid-template-columns: 350px minmax(0, 1fr) !important; }
  body.ds-2026 .vip-purchase-benefits { padding: 26px 24px 22px !important; }
  body.ds-2026 .vip-selected-detail h3 { font-size: 21px !important; }
  body.ds-2026 .vip-detail-metrics { grid-template-columns: 1fr !important; gap: 8px !important; }
  body.ds-2026 .vip-detail-list { margin-top: 18px !important; padding-top: 18px !important; }
}

/* Design System v1: shared primitives and icon language */
.ui-icon {
  width: 1em;
  height: 1em;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: -0.14em;
}

.brand-name,
.ai-title h1,
.restore-hero-copy h1,
.editor-view h1,
.side-heading h2,
.section-title h2,
.modal h2 {
  letter-spacing: 0;
  color: var(--color-text);
}

.muted-copy,
.ai-title p,
.restore-hero-copy p,
.login-modal > p,
.legal-modal > p,
.section-title p {
  color: var(--color-muted);
  line-height: var(--line-body);
}

.primary,
.small-primary,
.login-entry,
.pill,
.top-mini,
.restore-template-card button,
.restore-more-btn,
.home-restore-main .primary {
  min-height: 40px;
  border-radius: var(--radius-md);
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.primary,
.small-primary,
.login-entry,
.pill,
.restore-template-card button,
.restore-more-btn,
.home-restore-main .primary.green {
  color: #fff;
  background: var(--color-brand);
  border: 1px solid var(--color-brand);
  box-shadow: 0 8px 18px rgba(47, 125, 246, 0.18);
}

.primary:hover,
.small-primary:hover,
.login-entry:hover,
.pill:hover,
.restore-template-card button:hover,
.restore-more-btn:hover,
.home-restore-main .primary.green:hover {
  background: var(--color-brand-hover);
  border-color: var(--color-brand-hover);
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-1px);
}

.outline,
.ghost-btn,
.green-outline,
.login-back,
.preview-actions button,
.filter-options button,
.layout-choice button,
.ai-sample-examples button {
  min-height: 40px;
  border-radius: var(--radius-md);
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--color-text-soft);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0;
  box-shadow: none;
}

.outline:hover,
.ghost-btn:hover,
.green-outline:hover,
.login-back:hover,
.preview-actions button:hover,
.filter-options button:hover,
.layout-choice button:hover,
.ai-sample-examples button:hover {
  color: var(--color-brand-active);
  background: var(--color-brand-faint);
  border-color: rgba(47, 125, 246, 0.36);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.filter-options button.active,
.layout-choice button.active,
.main-nav button.active {
  color: var(--color-brand-active);
}

.icon-btn,
.file-btn,
.close,
.favorite-mini {
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-soft);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
}

.icon-btn:hover,
.file-btn:hover,
.close:hover,
.favorite-mini:hover {
  color: var(--color-brand-active);
  background: var(--color-brand-faint);
  border-color: rgba(47, 125, 246, 0.32);
  transform: translateY(-1px);
}

.main-nav button {
  gap: 6px;
  color: var(--color-text-soft);
  font-size: 14px;
  font-weight: 760;
}

.main-nav button span {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.main-nav .ui-icon,
.top-actions .ui-icon,
.editor-topbar .ui-icon {
  font-size: 18px;
}

input,
textarea,
select,
.input,
.login-input {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  font-weight: 400;
}

input::placeholder,
textarea::placeholder {
  color: var(--color-subtle);
  font-weight: 400;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-brand) !important;
  box-shadow: var(--focus-ring) !important;
}

.modal,
.template-content,
.template-inspector,
.ai-workspace,
.ai-form-card,
.ai-result-card,
.ai-preview-side,
.editor-panel-card,
.catalog-card,
.ai-sample-card,
.resume-card {
  border-color: var(--color-border);
  box-shadow: var(--shadow-card);
}

.catalog-card:hover,
.ai-sample-card:hover,
.resume-card:hover {
  box-shadow: var(--shadow-card-hover);
}

.modal {
  border-radius: var(--radius-xl);
}

.danger,
.danger-item {
  color: var(--color-danger) !important;
  background: var(--color-danger-soft) !important;
  border-color: rgba(239, 68, 68, 0.24) !important;
}

/* Design System v27: Boss-style full-site upgrade */
:root {
  --boss-nav: #101e34;
  --boss-nav-mid: #122542;
  --boss-nav-deep: #172040;
  --boss-page: #eef2f8;
  --boss-surface: #ffffff;
  --boss-soft: #f7f8fa;
  --boss-soft-tint: #eaf2ff;
  --boss-line: #e5e9ef;
  --boss-line-strong: #d7dde6;
  --boss-text: #1f2329;
  --boss-text-soft: #4b5563;
  --boss-muted: #667085;
  --boss-subtle: #8a94a6;
  --boss-teal: #2f7df6;
  --boss-teal-dark: #1f63d6;
  --boss-teal-soft: #eaf2ff;
  --boss-card-shadow: 0 10px 30px rgba(31, 41, 55, 0.06);
  --boss-card-shadow-hover: 0 16px 38px rgba(31, 41, 55, 0.1);
  --boss-focus: 0 0 0 3px rgba(47, 125, 246, 0.13);
}

body {
  background: var(--boss-page);
  color: var(--boss-text);
}

.product-shell,
.grid-bg,
.home-restore-main,
.template-page,
.ai-page,
.mine-main,
.editor-view {
  background: var(--boss-page) !important;
}

.topbar {
  height: 54px;
  padding: 0 42px;
  background: linear-gradient(105deg, var(--boss-nav), var(--boss-nav-mid) 48%, var(--boss-nav-deep));
  border-bottom: 0;
  box-shadow: none;
  color: #ffffff;
  backdrop-filter: none;
}

.brand {
  min-width: 260px;
  gap: 12px;
}

.brand-mark {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 11px;
  box-shadow: none;
}

.brand-name {
  color: rgba(255, 255, 255, 0.96);
  font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

.helped {
  margin-left: 12px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 400;
}

.helped b {
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
}

.main-nav {
  height: 100%;
  gap: 22px;
}

.main-nav button {
  min-width: auto;
  height: 100%;
  padding: 0 4px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  font-weight: 400;
  box-shadow: none;
}

.main-nav button:hover,
.main-nav button.active {
  color: var(--boss-teal);
  background: transparent !important;
}

.main-nav button::after {
  left: 4px;
  right: 4px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.main-nav button.active::after {
  background: var(--boss-teal);
}

.main-nav .ui-icon {
  display: none;
}

.top-actions .login-entry,
.top-actions .vip,
.top-actions .avatar-btn {
  min-height: 36px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 400;
  box-shadow: none;
}

.home-main,
.template-page,
.ai-page,
.mine-main {
  width: min(1320px, calc(100vw - 52px));
  padding: 28px 0 64px;
}

.template-content,
.template-inspector,
.ai-workspace,
.ai-form-card,
.ai-result-card,
.ai-preview-side,
.filter-panel,
.mine-header,
.resume-card,
.modal,
.editor-panel-card,
.catalog-card,
.ai-sample-card,
.ai-sample-search-panel,
.ai-sample-results,
.editor-sample-generator,
.editor-sample-text-preview,
.home-restore-hero,
.restore-template-panel,
.restore-custom-section,
.restore-feature-section,
.restore-stats-strip,
.restore-final-cta,
.restore-footer-bridge {
  background: var(--boss-surface);
  border: 1px solid var(--boss-line);
  border-radius: 16px;
  box-shadow: var(--boss-card-shadow);
}

.catalog-card:hover,
.ai-sample-card:hover,
.resume-card:hover,
.restore-template-card:hover {
  box-shadow: var(--boss-card-shadow-hover);
}

.primary,
.small-primary,
.login-entry,
.top-mini,
.restore-template-card button,
.restore-more-btn,
.modal-footer .small-primary,
.ai-sample-use,
.sample-apply-btn,
.ai-build-submit,
.ai-sample-search-button,
.export-confirm,
.modal-submit {
  min-height: 44px;
  border-radius: 10px;
  padding: 0 28px;
  background: var(--boss-teal);
  border-color: var(--boss-teal);
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  box-shadow: none;
}

.primary:hover,
.small-primary:hover,
.login-entry:hover,
.top-mini:hover,
.restore-template-card button:hover,
.restore-more-btn:hover,
.modal-footer .small-primary:hover,
.ai-sample-use:hover,
.sample-apply-btn:hover,
.ai-build-submit:hover,
.ai-sample-search-button:hover,
.export-confirm:hover,
.modal-submit:hover {
  background: var(--boss-teal-dark);
  border-color: var(--boss-teal-dark);
  transform: none;
  box-shadow: none;
}

.outline,
.ghost-btn,
.green-outline,
.login-back,
.preview-actions button,
.filter-options button,
.layout-choice button,
.ai-sample-examples button,
.modal-footer button,
.export-cancel,
.sample-regenerate-btn,
.ai-mode-card,
.template-tag,
.pill {
  min-height: 40px;
  border-radius: 10px;
  padding: 0 22px;
  border: 1px solid var(--boss-line-strong);
  background: #ffffff;
  color: var(--boss-text-soft);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  box-shadow: none;
}

.outline:hover,
.ghost-btn:hover,
.green-outline:hover,
.preview-actions button:hover,
.filter-options button:hover,
.layout-choice button:hover,
.ai-sample-examples button:hover,
.modal-footer button:hover,
.export-cancel:hover,
.sample-regenerate-btn:hover,
.ai-mode-card:hover,
.template-tag:hover,
.pill:hover {
  border-color: rgba(47, 125, 246, 0.32);
  background: var(--boss-teal-soft);
  color: var(--boss-teal-dark);
  transform: none;
  box-shadow: none;
}

input,
textarea,
select,
.input,
.login-input,
.ai-build-grid select,
.ai-build-job,
.ai-build-jd,
.ai-sample-search-input,
.export-select,
.export-name-input,
.ai-source-textarea,
.ai-result-textarea {
  border-radius: 8px;
  border: 1px solid #dfe3e8;
  background: #ffffff;
  color: var(--boss-text);
  font-weight: 400;
  box-shadow: none;
}

input::placeholder,
textarea::placeholder {
  color: var(--boss-subtle);
  font-weight: 400;
}

input:focus,
textarea:focus,
select:focus,
.input:focus,
.login-input:focus,
.ai-build-job:focus,
.ai-build-jd:focus,
.ai-sample-search-input:focus,
.export-select:focus,
.export-name-input:focus {
  border-color: var(--boss-teal) !important;
  box-shadow: var(--boss-focus) !important;
}

.home-restore-hero {
  padding: 42px;
}

.restore-eyebrow,
.restore-section-head span,
.restore-custom-copy span,
.ai-title .eyebrow,
.ai-sample-badge {
  color: var(--boss-teal-dark);
  background: var(--boss-teal-soft);
  border-radius: 8px;
  font-weight: 500;
}

.restore-hero-copy h1,
.ai-title h1,
.mine-header h1 {
  font-weight: 600;
  letter-spacing: 0;
}

.restore-hero-copy h1 {
  font-size: clamp(34px, 4vw, 48px);
}

.filter-panel.filter-top {
  padding: 18px 22px;
}

.filter-label {
  color: var(--boss-text-soft);
  font-size: 14px;
  font-weight: 500;
}

.filter-options button.active,
.layout-choice button.active,
.ai-mode-card.active {
  border-color: rgba(47, 125, 246, 0.46);
  background: var(--boss-teal-soft);
  color: var(--boss-teal-dark);
  font-weight: 500;
}

.template-content {
  padding: 26px;
}

.ai-recommend {
  height: auto;
  padding: 0 0 22px;
}

.template-catalog-grid {
  gap: 24px;
}

.catalog-card {
  padding: 14px;
  overflow: hidden;
}

.catalog-preview,
.resume-thumb,
.ai-sample-preview {
  border-radius: 14px;
  border: 1px solid var(--boss-line);
  background: #f8f9fb;
}

.catalog-title-line h3,
.resume-card h3,
.ai-sample-card h3 {
  font-weight: 600;
  letter-spacing: 0;
}

.catalog-title-line strong,
.sample-price-badge,
.resume-meta-badge {
  background: #fff7e6;
  color: #d97706;
  border: 0;
  font-weight: 500;
}

.ai-title {
  padding: 30px;
  text-align: left;
}

.ai-title h1 {
  font-size: 30px;
}

.ai-title p,
.mine-header p,
.template-subtitle,
.catalog-meta,
.resume-card p {
  color: var(--boss-muted);
  font-weight: 400;
}

.ai-sample-search-panel,
.ai-sample-results {
  padding: 24px;
}

.ai-sample-card {
  grid-template-rows: 240px 1fr;
  padding: 12px;
}

.mine-header {
  padding: 24px 28px;
}

.resume-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}

.resume-card {
  padding: 14px;
}

.editor-view {
  background: var(--boss-page) !important;
}

.editor-topbar {
  height: 56px;
  background: linear-gradient(105deg, var(--boss-nav), var(--boss-nav-mid) 48%, var(--boss-nav-deep));
  border-bottom: 0;
  color: #ffffff;
  box-shadow: none;
}

.editor-topbar .icon-btn,
.editor-topbar .file-btn,
.editor-topbar .top-mini,
.doc-title-btn,
.saved {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.86);
  font-weight: 400;
  box-shadow: none;
}

.doc-title-btn {
  font-weight: 500;
}

.saved {
  color: rgba(255, 255, 255, 0.72);
}

.saved b,
.saved em {
  color: rgba(255, 255, 255, 0.88);
}

.editor-topbar .small-primary {
  background: var(--boss-teal);
  border-color: var(--boss-teal);
}

.editor-body {
  height: calc(100vh - 56px);
  grid-template-columns: minmax(680px, 1fr) minmax(460px, 520px);
  background: var(--boss-page);
}

.canvas-area {
  background: var(--boss-page);
  padding: 40px 110px 80px 30px;
}

.side-panel {
  background: #ffffff;
  border-left: 1px solid var(--boss-line);
  box-shadow: -8px 0 24px rgba(31, 41, 55, 0.04);
}

.side-heading h2,
.editor-panel-card h3,
.section-head h3 {
  font-weight: 600;
  letter-spacing: 0;
}

.editor-panel-card,
.editor-module-card,
.ai-card,
.analysis-summary-card,
.export-option-card,
.layout-card {
  background: #ffffff;
  border: 1px solid var(--boss-line);
  border-radius: 16px;
  box-shadow: none;
}

.ai-strip {
  border: 1px solid rgba(47, 125, 246, 0.26);
  border-radius: 14px;
  background: var(--boss-soft-tint);
  box-shadow: none;
}

.tool-rail button {
  border-radius: 16px;
  border-color: var(--boss-line);
  background: #ffffff;
  color: var(--boss-text-soft);
  box-shadow: var(--boss-card-shadow);
}

.tool-rail button.active,
.tool-rail button:hover {
  border-color: rgba(47, 125, 246, 0.38);
  background: var(--boss-teal-soft);
  color: var(--boss-teal-dark);
  transform: none;
}

.modal-mask {
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(5px);
}

.modal {
  border-radius: 16px;
  border: 1px solid var(--boss-line);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
}

.modal h2,
.modal-title {
  font-weight: 600;
  letter-spacing: 0;
}

.modal-footer {
  border-top: 1px solid #eef0f3;
}

.login-modal {
  border-radius: 16px;
}

.login-title h2 {
  font-weight: 600;
}

.login-input {
  min-height: 48px;
}

.login-send-code {
  color: var(--boss-teal-dark);
  font-weight: 400;
}

@media (max-width: 900px) {
  .topbar {
    height: auto;
    min-height: 54px;
    padding: 10px 16px;
    gap: 10px;
  }

  .brand {
    min-width: 0;
  }

  .helped {
    display: none;
  }

  .main-nav {
    gap: 10px;
  }

  .main-nav button {
    font-size: 13px;
  }

  .home-main,
  .template-page,
  .ai-page,
  .mine-main {
    width: min(100% - 28px, 1320px);
    padding-top: 18px;
  }

  .editor-body {
    grid-template-columns: 1fr;
  }

  .canvas-area {
    padding: 22px 16px 40px;
  }

  .side-panel {
    border-left: 0;
    box-shadow: none;
  }
}

/* Design System v28: online page audit polish */
:root {
  --boss-page: #eef2f8;
  --boss-card-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
  --boss-card-shadow-hover: 0 18px 42px rgba(15, 23, 42, 0.075);
}

.home-main,
.template-page,
.ai-page,
.mine-main {
  width: min(1240px, calc(100vw - 56px));
  padding: 30px 0 56px;
}

.home-restore-hero,
.restore-template-panel,
.restore-custom-section,
.restore-feature-section,
.restore-stats-strip,
.restore-final-cta,
.restore-footer-bridge,
.filter-panel,
.template-content,
.mine-header,
.resume-card,
.ai-sample-search-panel,
.ai-sample-results {
  border-radius: 12px;
  box-shadow: var(--boss-card-shadow);
}

.home-restore-hero {
  min-height: 330px;
  padding: 42px 48px;
}

.restore-hero-copy h1 {
  font-size: clamp(38px, 3.2vw, 48px);
  line-height: 1.14;
}

.restore-template-panel,
.restore-custom-section,
.restore-feature-section,
.restore-final-cta {
  margin-top: 24px;
  padding: 28px;
}

.restore-template-grid {
  gap: 22px;
}

.restore-template-card {
  padding: 12px;
  border-radius: 12px;
}

.restore-template-card img {
  border-radius: 10px;
}

.restore-template-card h3,
.catalog-title-line h3,
.resume-card h3,
.ai-sample-card h3 {
  font-weight: 600;
}

.filter-panel.filter-top {
  padding: 22px 24px;
  gap: 18px;
}

.filter-title {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 600;
}

.filter-options {
  gap: 8px;
}

.filter-options button {
  min-height: 34px;
  height: 34px;
  padding: 0 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 400;
}

.template-content {
  min-height: 0;
  padding: 24px;
}

.ai-recommend {
  height: auto;
  padding: 4px 2px 22px;
}

.ai-recommend h2 {
  font-size: 26px;
  font-weight: 600;
}

.ai-recommend p {
  margin-top: 6px;
  font-size: 16px;
}

.template-catalog-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px 24px;
}

.catalog-card {
  padding: 0;
  border-radius: 12px;
  transform: none;
}

.catalog-card:hover {
  transform: translateY(-3px);
  filter: none;
}

.catalog-preview {
  border: 1px solid var(--boss-line);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
}

.catalog-card.active .catalog-preview {
  outline: 2px solid rgba(47, 125, 246, 0.38);
  outline-offset: 4px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.065);
}

.catalog-meta {
  margin-top: 12px;
}

.catalog-title-line h3 {
  font-size: 25px;
  line-height: 1.2;
}

.catalog-title-line strong {
  font-size: 15px;
  font-weight: 500;
}

.mine-main {
  padding-top: 28px;
}

.mine-header {
  min-height: 68px;
  padding: 0 20px;
}

.mine-header h1 {
  font-size: 31px;
}

.mine-header .count {
  font-size: 16px;
}

.resume-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 22px;
}

.resume-card {
  min-height: 356px;
  overflow: hidden;
}

.thumb {
  height: 278px;
  padding: 14px;
}

.card-meta {
  padding: 18px 20px 20px;
}

.card-title h3 {
  font-size: 21px;
  line-height: 1.35;
}

.updated,
.empty-tip {
  color: #8a96a8;
}

.empty-tip {
  margin: 34px 0 8px;
  font-size: 16px;
}

.ai-title {
  padding: 46px 0 32px;
}

.ai-title h1 {
  font-size: clamp(34px, 3vw, 44px);
  line-height: 1.16;
}

.ai-title p {
  max-width: 760px;
  margin: 16px auto 0;
  font-size: 17px;
  line-height: 1.7;
}

.ai-overview {
  gap: 28px;
}

.ai-sample-search-panel {
  padding: 28px;
  grid-template-columns: minmax(0, 1fr) 300px;
}

.ai-sample-search-row {
  grid-template-columns: minmax(0, 1fr) 132px;
}

.ai-sample-results {
  padding: 28px;
}

.ai-sample-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ai-sample-card {
  border-radius: 12px;
  overflow: hidden;
}

.ai-sample-card-body {
  padding: 18px 20px 20px;
}

.ai-sample-actions button {
  min-height: 40px;
}

.site-footer {
  margin-top: 26px;
  background: #303246;
}

.footer-inner {
  width: min(1160px, calc(100vw - 80px));
  padding: 40px 0 26px;
  gap: 34px;
}

.footer-brand p {
  margin: 12px 0 14px;
  font-size: 16px;
  font-weight: 600;
}

.footer-brand span,
.footer-column a,
.footer-column button {
  margin-top: 9px;
  font-size: 14px;
}

.footer-column h3 {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
}

.footer-bottom {
  width: min(1160px, calc(100vw - 80px));
  padding: 14px 0 18px;
  gap: 14px;
  font-size: 13px;
}

.editor-topbar {
  height: 52px;
}

.editor-body {
  height: calc(100vh - 52px);
  grid-template-columns: minmax(720px, 1fr) minmax(440px, 500px);
}

.canvas-area {
  padding: 38px 92px 68px 34px;
}

.tool-rail {
  right: 548px;
  top: 86px;
  gap: 9px;
}

.rail-btn {
  width: 66px;
  min-height: 58px;
  border-radius: 12px;
}

.rail-btn b {
  font-size: 13px;
  font-weight: 600;
}

.side-panel {
  padding: 20px 28px 44px;
}

.side-panel .side-heading h2,
.side-panel h2 {
  font-size: 25px;
  font-weight: 600;
}

.editor-panel-card,
.editor-module-card {
  border-radius: 12px;
}

@media (max-width: 1200px) {
  .home-main,
  .template-page,
  .ai-page,
  .mine-main {
    width: min(100% - 36px, 1240px);
  }

  .template-catalog-grid,
  .resume-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .filter-panel.filter-top {
    grid-template-columns: 1fr;
  }

  .editor-body {
    grid-template-columns: minmax(620px, 1fr) minmax(400px, 460px);
  }

  .tool-rail {
    right: 500px;
  }
}

@media (max-width: 760px) {
  .home-main,
  .template-page,
  .ai-page,
  .mine-main {
    width: calc(100vw - 28px);
    padding-top: 18px;
  }

  .home-restore-hero,
  .restore-template-panel,
  .restore-custom-section,
  .restore-feature-section,
  .restore-final-cta,
  .filter-panel.filter-top,
  .template-content,
  .ai-sample-search-panel,
  .ai-sample-results,
  .mine-header {
    padding: 18px;
  }

  .template-catalog-grid,
  .resume-grid,
  .ai-sample-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ai-sample-search-panel,
  .ai-sample-search-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-inner,
  .footer-bottom {
    width: calc(100vw - 36px);
  }
}

/* PC experience rebuild v118: shared selection pages and resume asset workspace.
   These classes are intentionally new so migrated pages stop depending on old
   page-specific override layers. */
.pc-refresh-shell {
  --pc-page-max: 1360px;
  --pc-work-surface: rgba(255, 255, 255, 0.88);
  --pc-work-border: rgba(132, 162, 204, 0.26);
  --pc-muted: #63708a;
  --pc-ink: #14213a;
}

.pc-refresh-shell .selection-page,
.pc-refresh-shell .workspace-page {
  width: min(var(--pc-page-max), calc(100% - 64px));
  margin: 0 auto;
  padding: 44px 0 88px;
}

.selection-page-header,
.workspace-page-header {
  display: flex;
  justify-content: space-between;
  gap: 36px;
  align-items: end;
  margin: 8px 0 28px;
}

.selection-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--color-brand);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .12em;
}

.selection-eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #5f97ff;
  box-shadow: 0 0 0 4px rgba(95, 151, 255, .12);
}

.selection-page-header h1,
.workspace-page-header h1 {
  max-width: 760px;
  margin: 12px 0 10px;
  color: var(--pc-ink);
  font-size: clamp(32px, 3vw, 46px);
  line-height: 1.13;
  letter-spacing: -.045em;
}

.selection-page-header p,
.workspace-page-header p {
  max-width: 690px;
  margin: 0;
  color: var(--pc-muted);
  font-size: 15px;
  line-height: 1.75;
}

.selection-header-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 360px;
}

.selection-header-meta span,
.resume-asset-status span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid var(--pc-work-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .75);
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
}

.pc-refresh-shell .selection-filter-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.25fr) minmax(180px, .75fr);
  gap: 24px;
  margin: 0 0 28px;
  padding: 22px 24px;
  border: 1px solid var(--pc-work-border);
  border-radius: 20px;
  background: var(--pc-work-surface);
  box-shadow: 0 18px 42px rgba(51, 84, 132, .06);
}

.pc-refresh-shell .selection-filter-panel .filter-group {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.pc-refresh-shell .selection-filter-panel .filter-title {
  padding-top: 8px;
  color: #4b5563;
  font-size: 13px;
  font-weight: 800;
}

.pc-refresh-shell .selection-filter-panel .filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pc-refresh-shell .selection-filter-panel .filter-options button {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  font-size: 13px;
}

.pc-refresh-shell .selection-filter-panel .filter-options button.active {
  color: #fff;
  background: var(--color-brand);
  border-color: var(--color-brand);
  box-shadow: 0 8px 18px rgba(47, 125, 246, .2);
}

.selection-results-panel {
  padding: 0;
}

.selection-results-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 18px;
}

.selection-results-head span {
  color: var(--color-brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
}

.selection-results-head h2 {
  margin: 5px 0 0;
  color: var(--pc-ink);
  font-size: 24px;
}

.selection-results-head p {
  margin: 0;
  color: var(--pc-muted);
  font-size: 13px;
}

.pc-refresh-shell .template-catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.pc-refresh-shell .selection-catalog-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--pc-work-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(42, 69, 110, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.pc-refresh-shell .selection-catalog-card:hover,
.pc-refresh-shell .selection-catalog-card.active {
  border-color: rgba(47, 125, 246, .5);
  box-shadow: 0 18px 38px rgba(31, 70, 135, .14);
  transform: translateY(-3px);
}

.pc-refresh-shell .selection-catalog-card .catalog-preview {
  min-height: 286px;
  padding: 12px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--template-soft) 84%, #fff), #f7faff);
}

.pc-refresh-shell .selection-catalog-meta {
  display: grid;
  gap: 12px;
  padding: 15px;
}

.pc-refresh-shell .selection-catalog-card .catalog-title-line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.pc-refresh-shell .selection-catalog-card h3 {
  margin: 0;
  color: var(--pc-ink);
  font-size: 16px;
}

.pc-refresh-shell .selection-catalog-card .catalog-title-line p {
  margin: 4px 0 0;
  color: var(--pc-muted);
  font-size: 12px;
}

.catalog-access {
  flex: 0 0 auto;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #edf5ff;
  color: #3478d7;
  font-size: 11px;
  font-weight: 800;
  line-height: 24px;
}

.catalog-access.vip { background: #f0edff; color: #6d5cff; }

.catalog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.catalog-tags span {
  color: #667085;
  font-size: 11px;
}

.catalog-tags span + span::before {
  content: "·";
  margin-right: 6px;
  color: #b5c2d4;
}

.catalog-actions,
.resume-asset-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.pc-refresh-shell .catalog-actions .primary,
.pc-refresh-shell .catalog-actions .outline,
.resume-asset-actions .primary,
.resume-asset-actions .outline {
  min-height: 36px;
  padding: 0 11px;
  font-size: 13px;
}

.pc-refresh-shell .catalog-actions .primary,
.resume-asset-actions .primary { flex: 1; }

.pc-refresh-shell .catalog-actions .favorite-mini {
  width: 36px;
  height: 36px;
  min-width: 36px;
}

.pc-refresh-shell .ai-overview {
  width: min(var(--pc-page-max), calc(100% - 64px));
  margin: 0 auto;
  padding: 44px 0 88px;
}

.pc-refresh-shell .ai-sample-search-panel,
.pc-refresh-shell .ai-sample-results {
  border: 1px solid var(--pc-work-border);
  background: var(--pc-work-surface);
  box-shadow: 0 18px 42px rgba(51, 84, 132, .06);
}

.pc-refresh-shell .ai-sample-search-panel {
  padding: 18px;
  border-radius: 20px;
}

.pc-refresh-shell .ai-sample-results {
  margin-top: 24px;
  padding: 24px;
  border-radius: 20px;
}

.pc-refresh-shell .ai-sample-results-head h2 { color: var(--pc-ink); }

.pc-refresh-shell .ai-sample-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pc-refresh-shell .ai-sample-card {
  overflow: hidden;
  border: 1px solid var(--pc-work-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

.pc-refresh-shell .ai-sample-card:hover {
  border-color: rgba(47, 125, 246, .44);
  box-shadow: 0 16px 32px rgba(42, 69, 110, .1);
}

.pc-refresh-shell .ai-sample-thumb { height: 246px; }

.pc-refresh-shell .workspace-page-header {
  align-items: center;
  padding: 28px 30px;
  border: 1px solid var(--pc-work-border);
  border-radius: 22px;
  background: linear-gradient(120deg, rgba(255,255,255,.94), rgba(241,247,255,.86));
  box-shadow: 0 18px 42px rgba(51, 84, 132, .06);
}

.pc-refresh-shell .workspace-page-header h1 {
  display: inline-block;
  margin-bottom: 7px;
  font-size: 32px;
}

.pc-refresh-shell .workspace-page-header .count {
  display: inline-flex;
  margin-left: 10px;
  vertical-align: 3px;
  color: #5272aa;
  font-size: 14px;
  font-weight: 750;
}

.pc-refresh-shell .workspace-page-header .button-row {
  flex: 0 0 auto;
}

.resume-assets-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.resume-asset-card {
  position: relative;
  display: grid;
  grid-template-columns: 196px minmax(0, 1fr);
  min-height: 252px;
  overflow: visible;
  border: 1px solid var(--pc-work-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(42, 69, 110, .06);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.resume-asset-card:hover,
.resume-asset-card.menu-open {
  z-index: 3;
  border-color: rgba(47, 125, 246, .42);
  box-shadow: 0 18px 38px rgba(31, 70, 135, .13);
  transform: translateY(-2px);
}

.resume-asset-preview {
  position: relative;
  overflow: hidden;
  padding: 12px;
  border-radius: 17px 0 0 17px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--template-soft) 78%, #fff), #edf5ff);
}

.resume-asset-preview .resume-thumb-live {
  width: 600px;
  transform: scale(.275);
  transform-origin: top left;
}

.resume-asset-preview .a4 { box-shadow: 0 7px 22px rgba(41, 61, 90, .18); }

.resume-asset-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 22px;
}

.resume-asset-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.resume-asset-label {
  color: var(--color-brand);
  font-size: 12px;
  font-weight: 800;
}

.resume-asset-title h3 {
  overflow: hidden;
  margin: 5px 0 0;
  color: var(--pc-ink);
  font-size: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.asset-menu-btn {
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 9px;
  color: #667085;
  background: #fff;
}

.asset-menu-btn:hover { color: var(--color-brand); border-color: rgba(47,125,246,.36); background: #f2f7ff; }

.resume-asset-content > p {
  margin: 14px 0;
  color: var(--pc-muted);
  font-size: 13px;
}

.resume-asset-status { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; }

.resume-asset-status span:first-child { color: #3977cf; background: #eef6ff; border-color: #d6e7ff; }

.resume-asset-actions { margin-top: 16px; }

.resume-asset-card .more-menu { z-index: 6; top: 54px; right: 16px; }
.resume-asset-card .export-submenu { z-index: 7; top: 87px; right: 16px; }
.workspace-footnote { margin-top: 20px; color: var(--pc-muted); font-size: 13px; }

@media (max-width: 1180px) {
  .pc-refresh-shell .template-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pc-refresh-shell .selection-filter-panel { grid-template-columns: 1fr; gap: 12px; }
  .resume-assets-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .pc-refresh-shell .selection-page,
  .pc-refresh-shell .workspace-page,
  .pc-refresh-shell .ai-overview { width: min(100% - 32px, var(--pc-page-max)); }
  .selection-page-header,
  .workspace-page-header,
  .selection-results-head { align-items: start; flex-direction: column; }
  .selection-header-meta { justify-content: flex-start; max-width: none; }
  .pc-refresh-shell .template-catalog-grid,
  .pc-refresh-shell .ai-sample-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resume-asset-card { grid-template-columns: 160px minmax(0, 1fr); }
}

/* ============================================================
   DeepHire 三栏编辑器 v82
   目标:左侧输入 / 中间简历预览 / 右侧 AI 分析优化助手
   ============================================================ */
.rv-editor.editor-deephire {
  --dh-ink: #1f2933;
  --dh-text: #46515f;
  --dh-muted: #8b949e;
  --dh-line: #edf0f2;
  --dh-line-2: #f5f6f7;
  --dh-bg: #fafafa;
  --dh-green: #2f7df6;
  --dh-green-soft: #eaf2ff;
  --dh-blue: #236db7;
  --dh-shadow-paper: 0 10px 28px rgba(31, 41, 55, .06);
  background: #fff !important;
  color: var(--dh-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif !important;
}

.rv-editor.editor-deephire .site-footer {
  display: none !important;
}

.rv-editor .editor-deephire-topbar {
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--dh-line) !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.rv-editor .editor-deephire-brand {
  gap: 9px !important;
}

.rv-editor .editor-deephire-brand img {
  width: 26px;
  height: 26px;
  display: block;
  border-radius: 7px;
}

.rv-editor .editor-deephire-brand b {
  color: #1f2933;
  font-size: 20px;
  font-weight: 780;
  letter-spacing: 0;
}

.rv-editor .editor-deephire-title {
  margin-left: 18px !important;
  padding-left: 18px !important;
  border-left: 1px solid #eef0f2;
  gap: 9px !important;
}

.rv-editor .editor-deephire-title .doc-title-btn {
  max-width: 240px !important;
  height: 32px !important;
  padding: 0 !important;
  color: #1f2933 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  background: transparent !important;
}

.rv-editor .editor-deephire-title > em {
  min-height: 20px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #f3f5f6;
  color: #79828d;
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
}

.rv-editor .editor-deephire-title .saved {
  min-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 12px !important;
}

.rv-editor .editor-deephire-title .saved em {
  display: none !important;
}

.rv-editor .editor-deephire-topbar .icon-btn,
.rv-editor .editor-deephire-topbar .file-btn,
.rv-editor .editor-deephire-topbar .top-mini {
  height: 32px !important;
  min-height: 32px !important;
  border: 1px solid var(--dh-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #6b7280 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 560 !important;
}

.rv-editor .editor-deephire-topbar .small-primary {
  height: 34px !important;
  padding: 0 18px !important;
  border-radius: 9px !important;
  background: var(--dh-green) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 650 !important;
}

.rv-editor .editor-deephire-body {
  width: 100% !important;
  height: calc(100vh - 56px) !important;
  min-height: 0 !important;
  grid-template-columns: 320px minmax(620px, 1fr) 300px !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}

.rv-editor.editor-deephire .editor-input-zone {
  height: 100% !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  grid-template-columns: 1fr !important;
  border-right: 1px solid var(--dh-line) !important;
  background: #fff !important;
}

.rv-editor .editor-deephire-tabs {
  position: static !important;
  width: auto !important;
  height: 42px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 20px 4px !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.rv-editor .editor-deephire-tabs .rail-btn {
  width: auto !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  border: 0 !important;
  border-radius: 15px !important;
  color: #9aa1aa !important;
  background: #f5f6f7 !important;
  box-shadow: none !important;
}

.rv-editor .editor-deephire-tabs .rail-btn .ui-icon {
  width: 14px;
  height: 14px;
  stroke-width: 2;
}

.rv-editor .editor-deephire-tabs .rail-btn b {
  max-width: none !important;
  color: inherit !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-weight: 620 !important;
}

.rv-editor .editor-deephire-tabs .rail-btn.active {
  color: #2f3b45 !important;
  background: #fff !important;
  box-shadow: 0 1px 5px rgba(31,41,55,.08) !important;
}

.rv-editor.editor-deephire .side-panel {
  height: 100% !important;
  padding: 14px 22px 34px !important;
  overflow: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #c9cfd6 transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .side-panel::-webkit-scrollbar {
  width: 5px !important;
  display: block !important;
}

.rv-editor.editor-deephire .side-panel::-webkit-scrollbar-thumb {
  background: #c9cfd6 !important;
  border-radius: 99px !important;
}

.rv-editor.editor-deephire .side-heading {
  position: static !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

.rv-editor.editor-deephire .side-heading h2 {
  margin: 0 !important;
  font-size: 14px !important;
  color: #303942 !important;
  font-weight: 700 !important;
}

.rv-editor.editor-deephire .ai-strip {
  display: none !important;
}

.rv-editor.editor-deephire .editor-panel-card,
.rv-editor.editor-deephire .editor-module-card {
  padding: 0 0 26px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #f1f2f3 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .editor-module-card {
  padding-top: 24px !important;
}

.rv-editor.editor-deephire .section-head {
  margin: 0 0 14px !important;
}

.rv-editor.editor-deephire .section-head h3 {
  color: #303942 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.rv-editor.editor-deephire .section-head span {
  color: #a2aab3 !important;
  font-size: 12px !important;
}

.rv-editor.editor-deephire .form-grid {
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

.rv-editor.editor-deephire .basic-field {
  grid-column: 1 !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
}

.rv-editor.editor-deephire .basic-title-cell {
  padding: 0 !important;
  background: transparent !important;
  color: #6f7781 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.rv-editor.editor-deephire .locked-field {
  color: #d96363 !important;
}

.rv-editor.editor-deephire .basic-value-input,
.rv-editor.editor-deephire .basic-label-input,
.rv-editor.editor-deephire .form-grid input,
.rv-editor.editor-deephire .form-grid textarea,
.rv-editor.editor-deephire .module-real-form input,
.rv-editor.editor-deephire .module-real-form textarea,
.rv-editor.editor-deephire .module-real-form select,
.rv-editor.editor-deephire input[type="text"],
.rv-editor.editor-deephire input:not([type]),
.rv-editor.editor-deephire textarea,
.rv-editor.editor-deephire select {
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid #eceff1 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #2a333c !important;
  font-size: 12px !important;
  font-weight: 520 !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire textarea {
  min-height: 116px !important;
  padding-top: 10px !important;
  line-height: 1.65 !important;
}

.rv-editor.editor-deephire .basic-drag-handle,
.rv-editor.editor-deephire .basic-field-actions {
  display: none !important;
}

.rv-editor.editor-deephire .upload-avatar-btn,
.rv-editor.editor-deephire .add-basic-field,
.rv-editor.editor-deephire .add-item,
.rv-editor.editor-deephire .add-module-btn {
  min-height: 36px !important;
  border: 1px solid #eceff1 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.rv-editor.editor-deephire .avatar-editor {
  padding: 10px !important;
  border: 1px solid #f0f1f2 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.rv-editor.editor-deephire .avatar-crop-preview {
  width: 84px !important;
  height: 84px !important;
  border-radius: 8px !important;
}

.rv-editor.editor-deephire .avatar-shape-row button,
.rv-editor.editor-deephire .avatar-style-row button {
  min-height: 28px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
}

.rv-editor.editor-deephire .editor-preview-zone {
  height: 100% !important;
  padding: 18px 36px 54px !important;
  overflow: auto !important;
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
  border: 0 !important;
  border-right: 1px solid var(--dh-line) !important;
  border-radius: 0 !important;
  background: #f7f7f5 !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .editor-preview-zone .a4 {
  width: min(590px, calc(100% - 18px)) !important;
  margin: 0 auto 54px !important;
  transform-origin: top center !important;
}

.rv-editor.editor-deephire .resume-page {
  border-radius: 7px !important;
  box-shadow: var(--dh-shadow-paper) !important;
}

.rv-editor.editor-deephire .canvas-zoom-tools {
  position: fixed !important;
  right: 322px !important;
  bottom: 18px !important;
  z-index: 35 !important;
  padding: 3px !important;
  border: 1px solid var(--dh-line) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.95) !important;
  box-shadow: 0 4px 16px rgba(31,41,55,.08) !important;
}

.rv-editor.editor-deephire .canvas-zoom-tools .icon-btn,
.rv-editor.editor-deephire .zoom-chip {
  height: 28px !important;
  min-height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

.rv-editor .editor-ai-zone {
  min-width: 0;
  height: 100%;
  padding: 62px 22px 18px;
  display: grid;
  align-content: space-between;
  gap: 18px;
  overflow: auto;
  background: #fff;
  scrollbar-width: none;
}

.rv-editor .editor-ai-zone::-webkit-scrollbar {
  display: none;
}

.rv-editor .ai-coach-card {
  border: 0;
  background: transparent;
  color: var(--dh-text);
}

.rv-editor .ai-coach-intro img {
  width: 62px;
  height: 62px;
  display: block;
  margin: 0 auto 18px;
  border-radius: 18px;
}

.rv-editor .ai-coach-intro h2 {
  margin: 0 0 8px;
  color: #29323b;
  font-size: 13px;
  font-weight: 700;
}

.rv-editor .ai-coach-intro p,
.rv-editor .ai-coach-intro li {
  margin: 0 0 8px;
  color: #56616d;
  font-size: 12px;
  line-height: 1.7;
}

.rv-editor .ai-coach-intro ul {
  margin: 8px 0 10px;
  padding-left: 16px;
}

.rv-editor .ai-coach-score {
  padding: 14px;
  border: 1px solid #f0f2f3;
  border-radius: 10px;
  background: #fbfcfb;
}

.rv-editor .ai-coach-score-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.rv-editor .ai-coach-score-head span {
  color: #35404a;
  font-size: 13px;
  font-weight: 700;
}

.rv-editor .ai-coach-score-head b {
  color: var(--dh-green);
  font-size: 26px;
  line-height: 1;
}

.rv-editor .ai-coach-meter {
  display: grid;
  grid-template-columns: 58px 1fr 28px;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
  color: #75808a;
  font-size: 11px;
}

.rv-editor .ai-coach-meter i {
  height: 5px;
  border-radius: 99px;
  overflow: hidden;
  background: #eef1f2;
}

.rv-editor .ai-coach-meter em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--dh-green);
}

.rv-editor .ai-coach-score button,
.rv-editor .ai-coach-action-row button {
  min-height: 30px;
  border: 1px solid #e8ecef;
  border-radius: 8px;
  background: #fff;
  color: #51606d;
  font-size: 12px;
  font-weight: 650;
}

.rv-editor .ai-coach-score button {
  width: 100%;
  margin-top: 12px;
  color: #1f2933;
}

.rv-editor .ai-coach-actions {
  display: grid;
  gap: 10px;
}

.rv-editor .ai-coach-action-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.rv-editor .ai-coach-action-row button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 6px;
  white-space: nowrap;
}

.rv-editor .ai-coach-action-row .ui-icon {
  width: 13px;
  height: 13px;
  stroke: var(--dh-green);
}

.rv-editor .ai-coach-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rv-editor .ai-coach-tags span {
  padding: 4px 7px;
  border-radius: 6px;
  background: var(--dh-green-soft);
  color: #1f63d6;
  font-size: 11px;
  font-weight: 600;
}

.rv-editor .ai-coach-input {
  min-height: 74px;
  display: grid;
  grid-template-columns: 1fr 30px;
  align-items: end;
  gap: 8px;
  padding: 10px;
  border: 1px solid #e7ebee;
  border-radius: 10px;
  background: #fff;
}

.rv-editor .ai-coach-input textarea {
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  resize: none;
  background: transparent !important;
  color: #5b6570 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.rv-editor .ai-coach-input button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #eef2f4;
  color: #9aa3ad;
}

.rv-editor .ai-coach-input .ui-icon {
  width: 14px;
  height: 14px;
}

.rv-editor .ai-coach-actions small {
  color: #b2bac2;
  font-size: 11px;
  text-align: center;
}

@media (max-width: 1180px) {
  .rv-editor .editor-deephire-body {
    grid-template-columns: minmax(300px, 360px) minmax(560px, 1fr) !important;
    overflow: auto !important;
  }

  .rv-editor .editor-ai-zone {
    grid-column: 1 / -1;
    height: auto;
    padding: 20px 24px 36px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
  }
}

@media (max-width: 760px) {
  .rv-editor .editor-deephire-body {
    height: auto !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

  .rv-editor.editor-deephire .editor-input-zone,
  .rv-editor.editor-deephire .editor-preview-zone,
  .rv-editor .editor-ai-zone {
    height: auto !important;
    min-height: 0 !important;
  }

  .rv-editor .editor-ai-zone {
    grid-template-columns: 1fr;
  }
}

/* Design System v25: Boss Zhipin inspired button final layer */
.primary,
.small-primary,
.login-entry,
.pill,
.top-mini,
.restore-template-card button,
.restore-more-btn,
.home-restore-main .primary,
.modal-footer .small-primary {
  min-height: 44px;
  border-radius: 10px;
  padding: 0 28px;
  font-family: "PingFang SC", "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  background: #2f7df6;
  border: 1px solid #2f7df6;
  box-shadow: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.primary:hover,
.small-primary:hover,
.login-entry:hover,
.pill:hover,
.restore-template-card button:hover,
.restore-more-btn:hover,
.home-restore-main .primary:hover,
.modal-footer .small-primary:hover {
  color: #fff;
  background: #0043a8;
  border-color: #0043a8;
  box-shadow: none;
  transform: translateY(-1px);
}

.outline,
.ghost-btn,
.green-outline,
.login-back,
.preview-actions button,
.filter-options button,
.layout-choice button,
.ai-sample-examples button {
  min-height: 44px;
  border-radius: 10px;
  padding: 0 26px;
  font-family: "PingFang SC", "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #4b5563;
  background: #fff;
  border: 1px solid #d5dbe5;
  box-shadow: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.outline:hover,
.ghost-btn:hover,
.green-outline:hover,
.login-back:hover,
.preview-actions button:hover,
.filter-options button:hover,
.layout-choice button:hover,
.ai-sample-examples button:hover {
  color: #0043a8;
  background: #fff;
  border-color: #2f7df6;
  box-shadow: none;
  transform: translateY(-1px);
}

.filter-options button.active,
.layout-choice button.active {
  color: #0043a8;
  border-color: #2f7df6;
  background: #fff;
  font-weight: 400;
}

.icon-btn,
.file-btn,
.close,
.favorite-mini {
  border-radius: 10px;
  color: #4b5563;
  border-color: #d5dbe5;
  box-shadow: none;
}

.radar-label i,
.analysis-score-row span i,
.analysis-dimension-card span i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  color: inherit;
  font-style: normal;
  vertical-align: -3px;
}

.radar-label i .ui-icon,
.analysis-score-row span i .ui-icon,
.analysis-dimension-card span i .ui-icon {
  width: 18px;
  height: 18px;
}

/* Design System v23: Boss-style lighter button rhythm */
.primary,
.small-primary,
.login-entry,
.pill,
.top-mini,
.restore-template-card button,
.restore-more-btn {
  min-height: 40px;
  border-radius: 999px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  border: 1px solid rgba(47, 125, 246, 0.82);
  box-shadow: 0 4px 12px rgba(47, 125, 246, 0.13);
}

.primary:hover,
.small-primary:hover,
.login-entry:hover,
.pill:hover,
.restore-template-card button:hover,
.restore-more-btn:hover {
  box-shadow: 0 7px 18px rgba(31, 99, 214, 0.16);
}

.outline,
.ghost-btn,
.green-outline,
.login-back,
.preview-actions button,
.filter-options button,
.layout-choice button,
.ai-sample-examples button {
  min-height: 40px;
  border-radius: 999px;
  padding: 0 20px;
  color: #4b5563;
  border-color: #d8dce2;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.outline:hover,
.ghost-btn:hover,
.green-outline:hover,
.login-back:hover,
.preview-actions button:hover,
.filter-options button:hover,
.layout-choice button:hover,
.ai-sample-examples button:hover {
  border-color: rgba(47, 125, 246, 0.34);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.icon-btn,
.file-btn,
.close,
.favorite-mini {
  border-radius: 10px;
  border-color: #d8dce2;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.danger:hover,
.danger-item:hover {
  color: #fff !important;
  background: var(--color-danger) !important;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--text);
  background: #fff;
  overflow-x: hidden;
  min-width: 0;
}

button,
input,
textarea {
  font: inherit;
}

button {
  border: 0;
  cursor: pointer;
  background: transparent;
  transition:
    background-color 0.18s var(--ease),
    border-color 0.18s var(--ease),
    color 0.18s var(--ease),
    box-shadow 0.18s var(--ease),
    transform 0.18s var(--ease),
    opacity 0.18s var(--ease);
}

button:active {
  transform: translateY(1px);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

input,
textarea {
  transition:
    border-color 0.18s var(--ease),
    box-shadow 0.18s var(--ease),
    background-color 0.18s var(--ease);
}

input:focus,
textarea:focus {
  border-color: var(--purple) !important;
  box-shadow: 0 0 0 3px rgba(47, 125, 246, 0.12);
}

::selection {
  color: #fff;
  background: rgba(47, 125, 246, 0.82);
}

body::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

body::-webkit-scrollbar-thumb {
  background: #cfd4dc;
  border: 2px solid #fff;
  border-radius: 999px;
}

body::-webkit-scrollbar-thumb:hover {
  background: #aeb6c3;
}

.app-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at 87% 14%, rgba(199, 218, 247, 0.7), transparent 26%),
    radial-gradient(circle at 25% 12%, rgba(224, 230, 255, 0.85), transparent 28%),
    linear-gradient(#fbfdff 0, #fff 340px);
}

.topbar {
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid #ececf2;
  box-shadow: 0 1px 10px rgba(25, 28, 43, 0.05);
  position: sticky;
  top: 0;
  z-index: 20;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 520px;
}

.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: block;
  flex: 0 0 42px;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  position: relative;
}

.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-name {
  font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}

.helped {
  margin-left: 20px;
  color: #555867;
  font-size: 14px;
}

.helped b {
  color: var(--purple);
  font-size: 20px;
  letter-spacing: 0.5px;
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.main-nav {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: stretch;
  height: 100%;
  gap: 6px;
}

.main-nav button {
  position: relative;
  min-width: 92px;
  padding: 0 10px;
  color: #1f2d3d;
  font-weight: 650;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.main-nav button::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
}

.main-nav button.active {
  color: var(--purple-dark);
  background: linear-gradient(180deg, rgba(232, 239, 250, 0), rgba(232, 239, 250, 0.88));
}

.main-nav button.active::after {
  background: var(--purple);
}

.main-nav button:hover {
  color: var(--purple-dark);
  background: #f6faff;
}

.vip {
  height: 40px;
  padding: 0 18px;
  border-radius: 22px;
  background: #fff1d7;
  color: #9b6a24;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(176, 125, 48, 0.08);
}

.vip:hover {
  background: #ffe9bf;
  box-shadow: 0 8px 18px rgba(154, 105, 36, 0.12);
}

.login-entry {
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  background: #2f7df6;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(47, 125, 246, 0.18);
}

.login-entry:hover {
  background: #1f63d6;
}

.avatar {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #1f69d7, #8e6bff);
  border: 3px solid #ffc267;
  font-weight: 900;
  color: #fff;
}

.avatar::after {
  content: "未开通";
  position: absolute;
  right: -5px;
  bottom: -5px;
  font-size: 9px;
  line-height: 12px;
  padding: 0 3px;
  background: #fff;
  color: #885d28;
  border: 1px solid #ffc267;
  border-radius: 8px;
  white-space: nowrap;
}

.mine-main {
  width: 1280px;
  margin: 0 auto;
  padding: 44px 40px 90px;
  animation: pageRise 0.28s var(--ease);
}

.mine-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 74px;
  padding: 0;
}

.title-row {
  display: flex;
  align-items: center;
  gap: 18px;
}

.back {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: var(--purple-dark);
  font-size: 30px;
  line-height: 22px;
  background: #fff;
  border: 1px solid #d9e4f4;
  box-shadow: var(--shadow-soft);
}

h1 {
  margin: 0;
  font-size: 34px;
  font-weight: 800;
}

.count {
  margin-left: 14px;
  color: #667085;
  font-size: 18px;
  font-weight: 400;
}

.button-row {
  display: flex;
  gap: 24px;
}

.primary,
.outline,
.small-primary,
.ghost-btn {
  height: 40px;
  border-radius: 4px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
}

.primary,
.small-primary {
  color: #fff;
  background: var(--purple);
  box-shadow: 0 8px 18px rgba(47, 125, 246, 0.2);
}

.primary:hover,
.small-primary:hover {
  background: var(--purple-dark);
  box-shadow: 0 10px 24px rgba(31, 99, 214, 0.24);
  transform: translateY(-1px);
}

.outline {
  background: #fff;
  color: var(--purple);
  border: 1px solid #bcd6ff;
}

.outline:hover {
  background: #f6faff;
  box-shadow: 0 8px 18px rgba(47, 125, 246, 0.08);
  transform: translateY(-1px);
}

.resume-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 20px;
}

.resume-card {
  position: relative;
  min-height: 382px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: visible;
  box-shadow: var(--shadow-soft);
  transition:
    border-color 0.22s var(--ease),
    box-shadow 0.22s var(--ease),
    transform 0.22s var(--ease);
  cursor: pointer;
}

.resume-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  background: #fff;
  z-index: -1;
}

.resume-card:hover .card-overlay,
.resume-card:focus-within .card-overlay,
.resume-card.menu-open .card-overlay {
  opacity: 1;
  pointer-events: auto;
}

.resume-card:hover,
.resume-card.menu-open {
  border-color: #bcd6ff;
  box-shadow: var(--shadow-pop);
  transform: translateY(-2px);
}

.thumb {
  height: 292px;
  padding: 14px 16px;
  background: linear-gradient(180deg, #f8fbff, #f8fafc);
  overflow: hidden;
  border-radius: 14px 14px 0 0;
  display: grid;
  place-items: center;
}

.thumb-paper {
  width: 100%;
  height: 100%;
  background: #fff;
  box-shadow: 0 0 0 1px #ececf4;
  padding: 12px 14px;
  transform-origin: top left;
  transition: transform 0.22s var(--ease);
}

.resume-card:hover .thumb-paper {
  transform: scale(1.006);
}

.resume-thumb-live {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  background: #f8fafc;
}

.resume-thumb-live .mini-live-template {
  position: absolute;
  left: 50%;
  top: 8px;
  width: 650px !important;
  margin: 0 !important;
  transform: translateX(-50%) scale(.42) !important;
  transform-origin: top center !important;
}

.resume-thumb-live .resume-page {
  width: 650px;
  aspect-ratio: 210 / 297;
  min-height: 920px;
  border-radius: 3px;
  box-shadow: 0 0 0 1px #e5e7eb !important;
}

.resume-thumb-live .resume-page:not(:first-child),
.resume-thumb-live .page-num {
  display: none;
}

.thumb-header {
  height: 52px;
  display: grid;
  grid-template-columns: 1fr 34px;
  gap: 10px;
  align-items: start;
  background: var(--template-soft, #f0efff);
  margin: -12px -14px 10px;
  padding: 12px 14px;
}

.mini-name {
  width: 38px;
  height: 11px;
  background: #191923;
  margin-bottom: 8px;
}

.mini-line {
  height: 4px;
  background: #d8d9e6;
  margin: 5px 0;
}

.mini-avatar {
  width: 34px;
  height: 38px;
  border-radius: 3px;
  background: linear-gradient(#f2cab8, #1c2444 55%);
}

.mini-section {
  display: grid;
  grid-template-columns: 4px 1fr;
  gap: 8px;
  margin: 9px 0;
}

.mini-section::before {
  content: "";
  width: 3px;
  height: 24px;
  border-radius: 2px;
  background: var(--template, #7667ff);
}

.mini-section b {
  display: block;
  width: 50px;
  height: 7px;
  background: #20202a;
  margin-bottom: 7px;
}

.mini-section span {
  display: block;
  height: 4px;
  background: #dbdce7;
  margin: 4px 0;
}

.card-meta {
  padding: 12px 14px;
}

.card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 28px;
}

.card-title h3 {
  margin: 0;
  font-size: 19px;
  max-width: 165px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.score {
  color: var(--purple-dark);
  background: var(--purple-light);
  border-radius: 3px;
  padding: 2px 4px;
  font-size: 13px;
  white-space: nowrap;
  flex: 0 0 auto;
}

.updated {
  color: #999aa6;
  font-size: 13px;
  margin-top: 7px;
}

.card-overlay {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s var(--ease);
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.42));
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 12px 84px;
  gap: 8px;
}

.overlay-btn {
  height: 34px;
  min-width: 72px;
  border-radius: 4px;
  background: #fff;
  color: #171722;
  font-size: 14px;
  box-shadow: 0 8px 18px rgba(22, 24, 36, 0.12);
}

.overlay-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(22, 24, 36, 0.16);
}

.overlay-btn.edit {
  min-width: 130px;
  color: #fff;
  background: var(--purple);
}

.ghost-full.is-favorite {
  border-color: #f4d18c;
  color: #b66f00;
  background: #fff8e8;
}

.more-menu {
  position: absolute;
  top: 228px;
  left: 46px;
  width: 160px;
  background: #fff;
  border-radius: 6px;
  box-shadow: var(--shadow-pop);
  z-index: 10;
  padding: 7px 0;
  animation: popMenu 0.16s var(--ease);
}

.more-menu button {
  width: 100%;
  height: 34px;
  padding: 0 14px;
  text-align: left;
  color: #222;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.more-menu button:hover {
  background: #f5f5fa;
}

.menu-sep {
  height: 1px;
  background: #ececf1;
  margin: 6px 0;
}

.danger-item {
  color: #dd4d4f !important;
}

.export-submenu {
  position: absolute;
  top: 264px;
  left: 206px;
  width: 126px;
  padding: 7px 0;
  background: #fff;
  border-radius: 6px;
  box-shadow: var(--shadow-pop);
  z-index: 12;
  animation: popMenu 0.16s var(--ease);
}

.export-submenu button {
  width: 100%;
  height: 34px;
  padding: 0 14px;
  text-align: left;
}

.export-submenu button:hover {
  background: #f5f5fa;
}

.empty-tip {
  text-align: center;
  margin-top: 50px;
  color: #aaaab4;
  font-size: 16px;
}

.product-shell {
  background:
    linear-gradient(rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 82% 12%, rgba(22, 96, 208, 0.15), transparent 28%),
    linear-gradient(#f8fbff 0, #fff 460px);
  background-size: 24px 24px, 24px 24px, auto, auto;
}

.grid-bg {
  background-color: #f7f9fb;
}

.home-main,
.template-page,
.ai-page {
  width: 1200px;
  margin: 0 auto;
  padding: 56px 0 90px;
  animation: pageRise 0.28s var(--ease);
}

.template-page {
  padding-top: 28px;
}

.home-hero {
  min-height: 560px;
  display: grid;
  grid-template-columns: 1fr 560px;
  gap: 58px;
  align-items: center;
}

.eyebrow {
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--purple-light);
  color: var(--purple-dark);
  font-weight: 700;
  margin-bottom: 22px;
}

.hero-copy h1,
.ai-title h1 {
  margin: 0;
  font-size: 48px;
  line-height: 1.18;
  color: #111827;
}

.hero-copy p,
.ai-title p,
.page-head p {
  margin: 18px 0 0;
  color: #667085;
  font-size: 18px;
  line-height: 1.8;
}

.hero-actions {
  display: flex;
  gap: 16px;
  margin-top: 34px;
}

.green {
  background: var(--purple) !important;
}

.green-outline {
  color: var(--purple-dark) !important;
  border-color: #b8ceef !important;
  background: #fff !important;
}

.green-outline:hover,
.secondary-green:hover,
.ghost-full:hover,
.preview-actions button:hover {
  border-color: #bcd6ff;
  background: #f6faff !important;
  color: var(--purple-dark);
}

.trust-row {
  display: flex;
  gap: 28px;
  margin-top: 28px;
  color: var(--purple-dark);
}

.hero-visual {
  position: relative;
  height: 500px;
}

.stack-paper {
  position: absolute;
  width: 250px;
  height: 320px;
  left: 30px;
  top: 96px;
  background: #fff;
  border-radius: 8px;
  padding: 18px;
  box-shadow: var(--shadow-soft);
  opacity: 0.72;
}

.hero-resume {
  position: absolute;
  right: 170px;
  top: 20px;
  width: 310px;
  min-height: 360px;
  padding: 26px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.13);
  transform: rotate(2deg);
}

.large-resume h3 {
  margin: 0 0 6px;
  font-size: 24px;
}

.resume-person {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 20px;
}

.round-avatar {
  width: 56px;
  height: 56px;
  border: 1px solid #b8ceef;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--purple-dark);
  font-weight: 800;
}

.resume-block {
  border-top: 1px solid #a7c2ea;
  padding: 13px 0;
}

.resume-block b {
  color: var(--purple-dark);
}

.resume-block p {
  margin: 8px 0 0;
  color: #4b5563;
  line-height: 1.7;
  font-size: 13px;
}

.import-float {
  position: absolute;
  right: 0;
  top: 126px;
  width: 300px;
  padding: 22px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.12);
}

.import-float b,
.import-float span {
  display: block;
}

.import-float span {
  color: #667085;
  margin: 8px 0 18px;
  line-height: 1.6;
}

.import-float button {
  width: 100%;
  height: 74px;
  border: 1px dashed #bcd6ff;
  border-radius: 10px;
  color: var(--purple-dark);
  background: #f7faff;
}

.quick-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 10px 0 24px;
}

.quick-card,
.home-card,
.filter-panel,
.template-content,
.template-inspector,
.ai-workspace,
.ai-form-card,
.ai-result-card,
.ai-preview-side {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
}

.quick-card {
  height: 104px;
  padding: 20px;
  display: grid;
  grid-template-columns: 44px 1fr 24px;
  grid-template-rows: 24px 24px;
  gap: 2px 14px;
  text-align: left;
  overflow: hidden;
}

.quick-card span {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--purple-light);
  color: var(--purple-dark);
  font-size: 24px;
}

.quick-card b {
  grid-column: 2;
  color: #111827;
  white-space: nowrap;
}

.quick-card em {
  grid-column: 2;
  color: #667085;
  font-style: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.quick-card i {
  grid-column: 3;
  grid-row: span 2;
  color: #8a94a6;
  font-style: normal;
  align-self: center;
  justify-self: end;
  font-size: 20px;
}

.quick-card:hover,
.home-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-pop);
}

.home-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 24px;
  align-items: stretch;
}

.home-card {
  padding: 24px;
}

.section-title,
.page-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.section-title h2,
.page-head h1 {
  margin: 0;
  color: #111827;
}

.section-title button,
.section-title span {
  color: var(--purple-dark);
}

.mini-template-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.mini-template {
  text-align: left;
  color: #111827;
}

.mini-template .thumb {
  height: 180px;
  padding: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}

.mini-template span {
  display: block;
  margin-top: 10px;
  font-weight: 700;
}

.member-card {
  border-color: #f3d9a8;
  background: #fffbf4;
  min-width: 0;
  overflow: hidden;
}

.crown-mark {
  font-size: 30px;
  color: #d97706;
}

.member-card p,
.member-card li {
  color: #667085;
  line-height: 1.8;
}

.secondary-green {
  height: 42px;
  padding: 0 18px;
  border-radius: 6px;
  background: var(--purple-light);
  color: var(--purple-dark);
  font-weight: 700;
}

.ability-section {
  margin-top: 28px;
}

.ability-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 18px;
}

.ability-card {
  min-height: 136px;
  padding: 22px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #fff;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.ability-card::after {
  content: "";
  position: absolute;
  inset: auto 16px 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  transition: background-color 0.18s var(--ease);
}

.ability-card:hover {
  transform: translateY(-2px);
  border-color: #bcd6ff;
  box-shadow: var(--shadow-soft);
}

.ability-card:hover::after {
  background: var(--purple);
}

.ability-card b {
  display: block;
  color: var(--purple-dark);
  font-size: 34px;
}

.ability-card strong,
.ability-card span {
  display: block;
  margin-top: 8px;
}

.ability-card span {
  color: #667085;
}

.home-main {
  width: min(1240px, calc(100vw - 96px));
  padding: 34px 0 84px;
}

.home-hero-redesign {
  min-height: 520px;
  grid-template-columns: minmax(430px, 0.9fr) minmax(560px, 1.1fr);
  gap: 52px;
  align-items: center;
  padding: 30px 0 18px;
}

.home-hero-redesign .hero-copy {
  max-width: 560px;
}

.home-hero-redesign .eyebrow {
  margin-bottom: 18px;
  border: 1px solid rgba(47, 125, 246, 0.15);
  background: rgba(232, 239, 250, 0.76);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}

.home-hero-redesign .hero-copy h1 {
  max-width: 560px;
  font-size: 54px;
  line-height: 1.12;
  letter-spacing: 0;
}

.home-hero-redesign .hero-copy p {
  max-width: 520px;
  font-size: 17px;
  line-height: 1.9;
}

.home-hero-redesign .hero-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.home-hero-redesign .hero-actions button {
  min-width: 138px;
  height: 48px;
  border-radius: 12px;
  font-weight: 900;
}

.subtle-outline {
  border: 1px solid #e2e8f0 !important;
  background: #fff !important;
  color: #4b5563 !important;
}

.subtle-outline:hover {
  border-color: #b8ceef !important;
  background: #f6faff !important;
  color: var(--purple-dark) !important;
}

.home-hero-redesign .trust-row {
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.home-hero-redesign .trust-row span {
  height: 30px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(47, 125, 246, 0.16);
  background: rgba(255, 255, 255, 0.72);
  color: #0f3876;
  font-size: 13px;
  font-weight: 800;
}

.hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
  max-width: 480px;
}

.hero-metrics div {
  padding: 14px 16px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.hero-metrics b,
.hero-metrics span {
  display: block;
}

.hero-metrics b {
  color: var(--purple-dark);
  font-size: 28px;
  line-height: 1;
}

.hero-metrics span {
  margin-top: 8px;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.home-hero-redesign .hero-visual {
  position: relative;
  height: 510px;
  display: grid;
  place-items: center;
}

.hero-product-img {
  width: 100%;
  max-width: 680px;
  aspect-ratio: 16 / 10;
  border-radius: 28px;
  border: 1px solid rgba(178, 202, 239, 0.9);
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.13);
}

.hero-workbench-preview {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 22px;
  align-items: center;
  padding: 26px 30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(240, 245, 253,.82)),
    radial-gradient(circle at 28% 16%, rgba(47,125,246,.13), transparent 34%);
  overflow: hidden;
}

.hero-workbench-preview::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 22px;
  pointer-events: none;
}

.hero-preview-toolbar {
  position: absolute;
  left: 28px;
  top: 24px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(178, 202, 239, 0.88);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #0f3876;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.hero-preview-toolbar b {
  color: #2563eb;
}

.hero-preview-paper {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: min(270px, 46vw);
  aspect-ratio: 210 / 297;
  padding: 10px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.15);
  transform: rotate(-2deg);
}

.hero-preview-paper .template-thumb-img {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  display: block;
}

.hero-preview-panel {
  position: relative;
  z-index: 1;
  align-self: center;
  min-height: 214px;
  padding: 24px;
  border: 1px solid rgba(226,232,240,.86);
  border-radius: 22px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.1);
}

.hero-preview-panel strong,
.hero-preview-panel span,
.hero-preview-panel em {
  display: block;
}

.hero-preview-panel strong {
  color: #111827;
  font-size: 24px;
  font-weight: 950;
}

.hero-preview-panel span {
  margin-top: 8px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 800;
}

.hero-preview-panel em {
  margin-top: 30px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #eaf2ff;
  color: #1f63d6;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

.hero-float-card.import-float {
  right: 18px;
  top: auto;
  bottom: 34px;
  width: 288px;
  border: 1px solid rgba(178, 202, 239, 0.86);
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.12);
}

.hero-float-card.import-float button {
  height: 42px;
  border-style: solid;
  background: var(--purple);
  color: #fff;
  font-weight: 900;
}

.quick-grid {
  margin: 26px 0 30px;
}

.quick-card {
  height: 118px;
  border-radius: 18px;
  border-color: rgba(226, 232, 240, 0.9);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.quick-card span {
  border-radius: 14px;
}

.quick-card:hover {
  border-color: #bcd6ff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.09);
}

.ability-section {
  margin-top: 26px;
  padding: 28px;
  border: 1px solid rgba(226, 232, 240, 0.86);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.045);
}

.ability-card {
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.ability-card b {
  font-size: 30px;
}

.home-split {
  margin-top: 30px;
  grid-template-columns: minmax(0, 1fr) 320px;
}

.home-card {
  border-radius: 20px;
  border-color: rgba(226, 232, 240, 0.9);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.wide-card {
  min-width: 0;
  overflow: hidden;
}

.member-card {
  border-color: rgba(245, 158, 11, 0.24);
  background: linear-gradient(180deg, #fffaf0 0%, #fff 100%);
}

.crown-mark {
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff7e6;
  color: #b45309;
  font-size: 16px;
  font-weight: 900;
}

.mini-template .thumb {
  border-radius: 12px;
  background: #fff;
}

.home-template-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.home-template-card {
  min-width: 0;
  padding: 10px;
  border: 1px solid #edf1f5;
  border-radius: 14px;
  background: #fff;
  text-align: left;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
  transition:
    transform 0.22s var(--ease),
    border-color 0.22s var(--ease),
    box-shadow 0.22s var(--ease);
}

.home-template-card:hover {
  border-color: #8fb3e9;
  transform: translateY(-7px) scale(1.018);
  box-shadow: 0 22px 46px rgba(15, 23, 42, 0.1);
}

.home-template-thumb {
  aspect-ratio: 210 / 297;
  height: auto;
  display: grid;
  place-items: center;
  border: 1px solid #eef2f6;
  border-radius: 10px;
  background: #f8fafc;
  overflow: hidden;
}

.home-template-thumb .template-thumb-img {
  width: 100%;
  height: 100%;
  display: block;
  filter: drop-shadow(0 8px 16px rgba(15, 23, 42, 0.06));
  transition: transform 0.24s var(--ease);
}

.home-template-card:hover .template-thumb-img {
  transform: scale(1.035);
}

.home-template-meta {
  min-height: 32px;
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.home-template-meta span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #111827;
  font-size: 16px;
  font-weight: 900;
}

.home-template-meta em {
  flex: 0 0 auto;
  padding: 4px 9px;
  border-radius: 999px;
  background: #fff7e6;
  color: #d97706;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.home-static-main {
  width: min(1180px, calc(100vw - 72px));
  padding: 48px 0 82px;
}

.home-static-hero {
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
  align-items: center;
  gap: 54px;
}

.home-static-copy {
  animation: homeFadeUp 0.65s var(--ease) both;
}

.home-static-kicker {
  width: fit-content;
  margin-bottom: 18px;
  padding: 7px 13px;
  border: 1px solid rgba(47, 125, 246, 0.16);
  border-radius: 999px;
  background: rgba(232, 239, 250, 0.76);
  color: #0f3876;
  font-size: 13px;
  font-weight: 900;
}

.home-static-copy h1 {
  max-width: 560px;
  margin: 0;
  color: #111827;
  font-size: 52px;
  line-height: 1.12;
  letter-spacing: 0;
}

.home-static-copy p {
  max-width: 500px;
  margin: 22px 0 0;
  color: #5f6b7a;
  font-size: 17px;
  line-height: 1.9;
}

.home-static-actions {
  display: flex;
  margin-top: 32px;
}

.home-static-actions button {
  min-width: 156px;
  height: 50px;
  border-radius: 12px;
  font-weight: 950;
}

.home-static-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 24px;
}

.home-static-proof span {
  height: 30px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(47, 125, 246, 0.14);
  background: rgba(255, 255, 255, 0.72);
  color: #0f3876;
  font-size: 13px;
  font-weight: 800;
}

.home-static-visual {
  margin: 0;
  position: relative;
  animation: homeFloatIn 0.7s var(--ease) both;
}

.home-static-visual img {
  width: 100%;
  display: block;
  border-radius: 28px;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.12);
  animation: homeSubtleFloat 6.5s ease-in-out infinite;
}

.home-image2-hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding-top: 16px;
}

.home-static-copy-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.home-image2-stage {
  width: 100%;
  max-width: 1180px;
  justify-self: center;
}

.home-image2-stage img {
  border-radius: 30px;
  animation: homeFloatIn 0.68s var(--ease) both;
}

.home-image2-cta {
  position: absolute;
  left: 5.8%;
  bottom: 20.3%;
  z-index: 2;
  width: 230px;
  height: 66px;
  border-radius: 16px;
  opacity: 0.01;
  cursor: pointer;
}

.home-image2-cta:focus-visible {
  opacity: 1;
  outline: 3px solid rgba(47, 125, 246, 0.32);
  background: var(--purple);
  color: #fff;
  font-weight: 950;
}

.home-static-section {
  margin-top: 58px;
}

.home-section-head {
  max-width: 680px;
}

.home-section-head span {
  color: #0043a8;
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
}

.home-section-head h2 {
  margin: 10px 0 0;
  color: #111827;
  font-size: 34px;
  line-height: 1.22;
  letter-spacing: 0;
}

.home-section-head p {
  margin: 12px 0 0;
  color: #667085;
  font-size: 16px;
  line-height: 1.75;
}

.home-static-template-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-static-template {
  min-width: 0;
  animation: homeFadeUp 0.58s var(--ease) both;
  animation-delay: var(--delay, 0s);
}

.home-static-template img {
  width: 100%;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: top center;
  display: block;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.075);
  transition:
    transform 0.24s var(--ease),
    box-shadow 0.24s var(--ease);
}

.home-static-template:hover img {
  transform: translateY(-6px);
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.13);
}

.home-static-template strong,
.home-static-template span {
  display: block;
}

.home-static-template strong {
  margin-top: 14px;
  color: #111827;
  font-size: 17px;
  font-weight: 950;
}

.home-static-template span {
  margin-top: 6px;
  color: #667085;
  font-size: 13px;
  line-height: 1.55;
}

.home-flow-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(178, 202, 239, 0.78);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06);
}

.home-flow-item {
  min-width: 0;
  padding: 28px;
  border-right: 1px solid rgba(226, 232, 240, 0.82);
}

.home-flow-item:last-child {
  border-right: 0;
}

.home-flow-item b,
.home-flow-item strong,
.home-flow-item span {
  display: block;
}

.home-flow-item b {
  color: #0043a8;
  font-size: 14px;
  font-weight: 950;
}

.home-flow-item strong {
  margin-top: 10px;
  color: #111827;
  font-size: 20px;
  font-weight: 950;
}

.home-flow-item span {
  margin-top: 8px;
  color: #667085;
  line-height: 1.65;
}

.home-long-main {
  width: min(1200px, calc(100vw - 80px));
  padding: 46px 0 90px;
}

.home-long-hero {
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(390px, 0.86fr) minmax(600px, 1.14fr);
  align-items: center;
  gap: 48px;
}

.home-long-copy {
  min-width: 0;
  animation: homeFadeUp 0.62s var(--ease) both;
}

.home-long-copy h1 {
  max-width: 580px;
  margin: 0;
  color: #0f172a;
  font-size: 54px;
  line-height: 1.12;
  letter-spacing: 0;
}

.home-long-copy p {
  max-width: 530px;
  margin: 22px 0 0;
  color: #5b6778;
  font-size: 17px;
  line-height: 1.9;
}

.home-long-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.home-long-actions button {
  height: 50px;
  min-width: 148px;
  border-radius: 12px;
  font-weight: 950;
}

.home-long-stats {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 540px;
}

.home-long-stats div {
  padding: 16px;
  border: 1px solid rgba(47, 125, 246, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.home-long-stats b,
.home-long-stats span {
  display: block;
}

.home-long-stats b {
  color: #0043a8;
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
}

.home-long-stats span {
  margin-top: 8px;
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 800;
}

.home-workbench-visual {
  position: relative;
  min-width: 0;
  padding: 34px 34px 70px;
  border: 1px solid rgba(178, 202, 239, 0.8);
  border-radius: 30px;
  background:
    radial-gradient(circle at 82% 10%, rgba(37, 99, 235, 0.12), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(232, 239, 250,.72));
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.12);
  animation: homeFloatIn 0.72s var(--ease) both;
}

.workbench-shell {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 420px;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.82);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.08);
}

.workbench-side {
  padding: 22px 16px;
  border-right: 1px solid rgba(226, 232, 240, 0.9);
  background: rgba(248, 250, 253, 0.9);
}

.workbench-side b,
.workbench-side span {
  display: block;
}

.workbench-side b {
  margin-bottom: 18px;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
}

.workbench-side span {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.workbench-side .active {
  background: #eaf2ff;
  color: #1f63d6;
}

.workbench-main {
  min-width: 0;
  padding: 26px;
}

.workbench-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.workbench-top strong {
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.workbench-top em {
  color: #0043a8;
  font-style: normal;
  font-weight: 900;
}

.workbench-cards {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.workbench-cards div {
  min-height: 92px;
  padding: 18px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
}

.workbench-cards b,
.workbench-cards span {
  display: block;
}

.workbench-cards b {
  color: #0f172a;
  font-weight: 950;
}

.workbench-cards span {
  margin-top: 8px;
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.workbench-resumes {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}

.workbench-resumes img {
  width: 100%;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: top center;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.1);
}

.workbench-resumes img:first-child {
  outline: 5px solid #1e6bb8;
  transform: translateY(-4px);
}

.score-floating,
.ai-floating {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(226, 232, 240, 0.86);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.11);
}

.score-floating {
  right: 8px;
  top: 74px;
  width: 146px;
  padding: 18px;
}

.score-floating b,
.score-floating span,
.score-floating em {
  display: block;
}

.score-floating b {
  color: #0043a8;
  font-size: 46px;
  line-height: 1;
}

.score-floating span {
  margin-top: 8px;
  color: #0f172a;
  font-weight: 950;
}

.score-floating em {
  margin-top: 6px;
  color: #0043a8;
  font-style: normal;
  font-weight: 900;
}

.ai-floating {
  right: 24px;
  bottom: 12px;
  width: 230px;
  padding: 18px;
}

.ai-floating strong,
.ai-floating span {
  display: block;
}

.ai-floating strong {
  color: #0f172a;
  font-weight: 950;
}

.ai-floating span {
  margin-top: 11px;
  color: #4b5563;
  font-size: 13px;
}

.home-long-section {
  margin-top: 72px;
}

.home-feature-grid {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-feature-card {
  min-width: 0;
  min-height: 248px;
  padding: 24px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.055);
  animation: homeFadeUp 0.58s var(--ease) both;
  animation-delay: var(--delay, 0s);
}

.feature-badge {
  width: fit-content;
  min-width: 54px;
  height: 42px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #eaf2ff;
  color: #1f63d6;
  font-weight: 950;
}

.home-feature-card h3 {
  margin: 22px 0 0;
  color: #0f172a;
  font-size: 21px;
  line-height: 1.25;
}

.home-feature-card p {
  margin: 12px 0 0;
  color: #667085;
  line-height: 1.75;
}

.feature-lines {
  margin-top: 22px;
  display: grid;
  gap: 8px;
}

.feature-lines i {
  height: 8px;
  border-radius: 999px;
  background: #dbe7ee;
}

.feature-lines i:nth-child(2) {
  width: 72%;
}

.feature-lines i:nth-child(3) {
  width: 48%;
  background: #b8ceef;
}

.home-category-row {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.home-category-row span {
  height: 34px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(47, 125, 246, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: #0f3876;
  font-size: 13px;
  font-weight: 900;
}

.home-static-template {
  text-align: left;
}

.home-custom-section {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1.18fr);
  gap: 30px;
  align-items: center;
  padding: 38px;
  border: 1px solid rgba(178, 202, 239, 0.78);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 16%, rgba(37, 99, 235, 0.12), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(232, 239, 250,.78));
  box-shadow: 0 22px 58px rgba(15, 23, 42, 0.07);
}

.custom-copy span {
  color: #0043a8;
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
}

.custom-copy h2 {
  max-width: 470px;
  margin: 10px 0 0;
  color: #0f172a;
  font-size: 36px;
  line-height: 1.22;
}

.custom-copy p {
  max-width: 460px;
  margin: 14px 0 24px;
  color: #667085;
  line-height: 1.8;
}

.custom-panel {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 16px;
}

.jd-card,
.resume-version-card {
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(226, 232, 240, 0.88);
  border-radius: 20px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

.jd-card b,
.jd-card span,
.resume-version-card b,
.resume-version-card strong,
.resume-version-card em,
.resume-version-card p {
  display: block;
}

.jd-card b,
.resume-version-card b {
  color: #0f172a;
  font-weight: 950;
}

.jd-card span {
  margin-top: 12px;
  padding: 9px 11px;
  border-radius: 12px;
  background: #eaf2ff;
  color: #0f3876;
  font-size: 13px;
  font-weight: 900;
}

.resume-version-card strong {
  margin-top: 16px;
  color: #0f172a;
  font-size: 22px;
  line-height: 1.3;
}

.resume-version-card em {
  width: fit-content;
  margin-top: 12px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #ecf3fd;
  color: #0043a8;
  font-style: normal;
  font-weight: 950;
}

.resume-version-card p {
  margin: 18px 0 0;
  color: #667085;
  line-height: 1.75;
}

.home-restore-main {
  width: min(1180px, calc(100vw - 80px));
  padding: 38px 0 72px;
}

.home-restore-hero {
  min-height: 410px;
  display: grid;
  grid-template-columns: minmax(360px, 0.82fr) minmax(520px, 1.18fr);
  align-items: center;
  gap: 42px;
}

.restore-hero-copy {
  min-width: 0;
  animation: homeFadeUp 0.58s var(--ease) both;
}

.restore-eyebrow {
  color: #0043a8;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.restore-hero-copy h1 {
  margin: 12px 0 0;
  color: #0f172a;
  font-size: 50px;
  line-height: 1.16;
  letter-spacing: 0;
}

.restore-hero-copy h1 em {
  color: #2f7df6;
  font-style: normal;
}

.restore-hero-copy p {
  max-width: 520px;
  margin: 22px 0 0;
  color: #5d6978;
  font-size: 16px;
  line-height: 1.85;
}

.restore-proof-row {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 560px;
}

.restore-proof-row div {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055);
}

.restore-proof-row b,
.restore-proof-row span {
  display: block;
}

.restore-proof-row b {
  color: #0043a8;
  font-size: 16px;
  font-weight: 950;
}

.restore-proof-row span {
  margin-top: 4px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.restore-hero-visual {
  position: relative;
  height: 360px;
  min-width: 0;
  overflow: visible;
  background:
    radial-gradient(ellipse at 62% 64%, rgba(47, 125, 246, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0), rgba(232, 239, 250,.75));
  border-radius: 42px;
}

.restore-stage {
  position: absolute;
  left: 33%;
  right: 18%;
  bottom: 24px;
  height: 54px;
  border-radius: 50%;
  background: rgba(47, 125, 246, 0.18);
  box-shadow:
    0 18px 36px rgba(47, 125, 246, 0.16),
    inset 0 0 0 12px rgba(255,255,255,.45);
}

.restore-float-resume {
  position: absolute;
  z-index: 2;
  width: 178px;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: top center;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 46px rgba(15, 23, 42, 0.14);
  animation: homeSubtleFloat 6.5s ease-in-out infinite;
}

.restore-float-resume.r1 {
  left: 36%;
  top: 58px;
  transform: rotate(-8deg) scale(0.78);
  opacity: 0.72;
}

.restore-float-resume.r2 {
  left: 48%;
  top: 12px;
  width: 224px;
  z-index: 4;
  transform: rotate(-2deg);
  outline: 5px solid #0043a8;
}

.restore-float-resume.r3 {
  left: 66%;
  top: 50px;
  transform: rotate(8deg) scale(0.86);
  opacity: 0.86;
}

.restore-float-resume.r4 {
  left: 80%;
  top: 96px;
  transform: rotate(12deg) scale(0.66);
  opacity: 0.54;
}

.restore-template-panel {
  margin-top: 28px;
  padding: 28px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
}

.restore-filter-row {
  display: flex;
  gap: 10px;
  align-items: center;
  overflow-x: auto;
  padding-bottom: 8px;
}

.restore-filter-row button {
  flex: 0 0 auto;
  height: 34px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #4b5563;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.restore-filter-row button.active {
  background: #2f7df6;
  color: #fff;
}

.restore-filter-row button:not(.active) {
  background: #f8fafc;
  border-color: #e5e7eb;
}

.restore-template-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.restore-template-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
  transition:
    transform 0.22s var(--ease),
    box-shadow 0.22s var(--ease);
}

.restore-template-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.1);
}

.restore-template-card img {
  width: 100%;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: top center;
  border: 1px solid rgba(226, 232, 240, 0.88);
  border-radius: 12px;
  display: block;
}

.restore-template-card h3 {
  margin: 16px 0 0;
  color: #0f172a;
  font-size: 16px;
  font-weight: 950;
}

.restore-template-card div {
  min-height: 28px;
  margin-top: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.restore-template-card span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #667085;
  font-size: 12px;
}

.restore-template-card button,
.restore-more-btn {
  width: 100%;
  height: 38px;
  margin-top: 14px;
  border: 1px solid rgba(47, 125, 246, 0.32);
  border-radius: 999px;
  color: #0043a8;
  font-weight: 950;
  background: #fff;
}

.restore-more-btn {
  width: auto;
  min-width: 190px;
  display: block;
  margin: 22px auto 0;
  padding: 0 22px;
}

.restore-custom-section {
  margin-top: 44px;
  padding: 54px;
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(560px, 1.28fr);
  gap: 38px;
  align-items: center;
  border: 1px solid rgba(178, 202, 239, 0.78);
  border-radius: 26px;
  background:
    radial-gradient(circle at 82% 18%, rgba(37, 99, 235, 0.1), transparent 30%),
    linear-gradient(135deg, rgba(240, 245, 253,.96), rgba(255,255,255,.92));
}

.restore-custom-copy span,
.restore-section-head span {
  color: #0043a8;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.restore-custom-copy h2,
.restore-section-head h2 {
  margin: 10px 0 0;
  color: #0f172a;
  font-size: 34px;
  line-height: 1.22;
}

.restore-custom-copy h2 em {
  color: #2f7df6;
  font-style: normal;
}

.restore-custom-copy p {
  margin: 18px 0 0;
  color: #5d6978;
  line-height: 1.82;
}

.restore-custom-copy ul {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.restore-custom-copy li {
  color: #0f3876;
  font-weight: 900;
}

.restore-compare {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: center;
}

.restore-compare article {
  min-height: 300px;
  padding: 28px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 20px 52px rgba(15, 23, 42, 0.08);
}

.restore-compare article.active {
  background: #fff;
}

.restore-compare b,
.restore-compare em {
  display: block;
}

.restore-compare b {
  color: #0f172a;
  font-weight: 950;
}

.restore-compare em {
  width: fit-content;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0043a8;
  font-style: normal;
  font-weight: 950;
  font-size: 12px;
}

.restore-ai-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: 70px;
  height: 70px;
  margin: -35px 0 0 -35px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #2f7df6;
  color: #fff;
  font-weight: 950;
  text-align: center;
  box-shadow: 0 14px 30px rgba(47, 125, 246, 0.25);
}

.blur-lines,
.clear-lines {
  margin-top: 28px;
  display: grid;
  gap: 14px;
}

.blur-lines i,
.clear-lines i {
  height: 10px;
  border-radius: 999px;
  background: #dbe7ee;
}

.blur-lines i {
  opacity: 0.42;
}

.clear-lines i {
  background: #b8ceef;
}

.restore-feature-section {
  margin-top: 46px;
}

.restore-section-head {
  text-align: center;
}

.restore-feature-grid {
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.restore-feature-card {
  min-width: 0;
  padding: 26px;
  min-height: 270px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  background: rgba(248, 250, 253, 0.88);
}

.restore-feature-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 20px;
  text-align: center;
}

.restore-feature-card p {
  margin: 8px 0 18px;
  color: #667085;
  font-size: 13px;
  text-align: center;
}

.restore-mini-widget {
  min-height: 88px;
  padding: 16px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  background: #fff;
  color: #0043a8;
  font-weight: 950;
}

.restore-mini-widget span {
  color: #4b5563;
  font-size: 13px;
}

.restore-feature-card ul {
  margin: 18px 0 0;
  padding-left: 18px;
  color: #0f3876;
  line-height: 1.8;
  font-size: 13px;
}

.restore-stats-strip {
  margin-top: 34px;
  padding: 28px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.055);
}

.restore-stats-strip b,
.restore-stats-strip span {
  display: block;
  text-align: center;
}

.restore-stats-strip b {
  color: #0043a8;
  font-size: 26px;
}

.restore-stats-strip span {
  margin-top: 6px;
  color: #667085;
}

.restore-final-cta {
  margin-top: 34px;
  min-height: 250px;
  padding: 42px 70px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 30px;
  align-items: center;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 78% 38%, rgba(47, 125, 246, 0.22), transparent 28%),
    linear-gradient(135deg, #e3edfb, #fff);
}

.restore-final-cta h2 {
  margin: 0;
  color: #0f172a;
  font-size: 34px;
  line-height: 1.25;
}

.restore-final-cta p {
  margin: 12px 0 24px;
  color: #667085;
}

.restore-final-cta button {
  min-width: 190px;
  height: 48px;
  border-radius: 12px;
}

.restore-final-cta div > span {
  display: block;
  margin-top: 14px;
  color: #667085;
}

.restore-final-cta figure {
  margin: 0;
  position: relative;
  height: 230px;
}

.restore-final-cta figure img {
  position: absolute;
  right: 58px;
  top: -14px;
  width: 150px;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: top center;
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}

.restore-final-cta figure em {
  position: absolute;
  padding: 9px 14px;
  border-radius: 999px;
  color: #fff;
  font-style: normal;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
}

.tag-a {
  left: 26px;
  top: 42px;
  background: #2f7df6;
}

.tag-b {
  right: 10px;
  top: 112px;
  background: #3b82f6;
}

.tag-c {
  left: 0;
  top: 126px;
  background: #f59e0b;
}

.restore-footer-bridge {
  margin-top: 36px;
  padding: 10px 0 2px;
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
  gap: 42px;
  color: #667085;
}

.restore-footer-bridge div {
  min-width: 0;
}

.restore-footer-bridge strong,
.restore-footer-bridge b,
.restore-footer-bridge span {
  display: block;
}

.restore-footer-bridge strong,
.restore-footer-bridge b {
  margin-bottom: 10px;
  color: #0f172a;
  font-weight: 950;
}

.restore-footer-bridge span {
  margin-top: 8px;
  font-size: 13px;
}

.restore-footer-copy {
  grid-column: 1 / -1;
  margin: 10px 0 0;
  padding-top: 18px;
  border-top: 1px solid #e2e8f0;
  color: #8a94a6;
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 12px;
  text-align: center;
}

.restore-footer-copy a {
  color: #667085;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.restore-footer-version {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border: 1px solid rgba(47, 125, 246, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  color: #667085;
  font-weight: 800;
  white-space: nowrap;
}

@keyframes homeFadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes homeFloatIn {
  from {
    opacity: 0;
    transform: translateY(22px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes homeSubtleFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

.site-footer {
  margin-top: 20px;
  background: #34344a;
  color: rgba(255, 255, 255, 0.72);
}

.footer-inner {
  width: min(1200px, calc(100vw - 96px));
  margin: 0 auto;
  padding: 54px 0 34px;
  display: grid;
  grid-template-columns: 1.45fr repeat(3, minmax(150px, 1fr));
  gap: 42px;
}

.footer-brand .brand {
  min-width: 0;
  color: #fff;
}

.footer-brand .brand-name {
  color: #206de0;
}

.footer-brand p {
  margin: 14px 0 18px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 18px;
  font-weight: 800;
}

.footer-brand span,
.footer-column a,
.footer-column button {
  display: block;
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
}

.footer-column h3 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 18px;
}

.footer-column a:hover,
.footer-column button:hover {
  color: #206de0;
}

.footer-bottom {
  width: min(1200px, calc(100vw - 96px));
  margin: 0 auto;
  padding: 18px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 14px;
}

.footer-bottom a {
  color: rgba(255, 255, 255, 0.62);
}

.footer-version {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border: 1px solid rgba(47, 125, 246, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.editor-view .site-footer {
  margin-top: 0;
}

.legal-shell {
  min-height: 100vh;
}

.legal-main {
  width: min(960px, calc(100vw - 96px));
  margin: 0 auto;
  padding: 56px 0 72px;
}

.legal-hero {
  padding: 22px 0 30px;
}

.legal-hero span {
  color: #0043a8;
  font-size: 15px;
  font-weight: 900;
}

.legal-hero h1 {
  margin: 12px 0;
  color: #111827;
  font-size: 44px;
  line-height: 1.18;
}

.legal-hero p {
  max-width: 680px;
  margin: 0;
  color: #667085;
  font-size: 17px;
  line-height: 1.8;
}

.legal-document {
  padding: 34px 42px;
  border: 1px solid #e5edf5;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 54px rgba(15, 23, 42, 0.07);
}

.legal-meta {
  padding-bottom: 22px;
  border-bottom: 1px solid #edf2f7;
  display: grid;
  gap: 8px;
}

.legal-meta b {
  color: #111827;
  font-size: 18px;
}

.legal-meta span {
  color: #667085;
  font-size: 14px;
}

.legal-document section {
  padding-top: 26px;
}

.legal-document h2 {
  margin: 0 0 12px;
  color: #111827;
  font-size: 22px;
}

.legal-document p {
  margin: 10px 0 0;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.9;
}

.page-head {
  margin-bottom: 22px;
}

.page-head h1 {
  font-size: 34px;
}

.stat-pill {
  height: 70px;
  min-width: 250px;
  padding: 0 26px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: var(--shadow-soft);
  display: flex;
  align-items: center;
  gap: 10px;
  color: #667085;
}

.stat-pill b {
  color: var(--purple-dark);
  font-size: 26px;
}

.template-layout {
  display: block;
}

.filter-panel {
  padding: 12px 14px;
}

.filter-top {
  display: grid;
  grid-template-columns: 1.42fr 1fr 0.62fr;
  gap: 14px;
  margin-bottom: 14px;
  position: static;
  top: auto;
}

.filter-group {
  padding: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.filter-group:last-child {
  margin-bottom: 0;
  border-bottom: 0;
}

.filter-title {
  margin-bottom: 8px;
  font-weight: 800;
  font-size: 14px;
  color: #111827;
}

.filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.filter-options button {
  height: 28px;
  padding: 0 10px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 14px;
  color: #667085;
  background: #fff;
}

.filter-options button.active {
  border-color: #bcd6ff;
  background: var(--purple-light);
  color: var(--purple-dark);
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(47, 125, 246, 0.09);
}

.filter-options button:hover {
  border-color: #bcd6ff;
  color: var(--purple-dark);
}

.template-content {
  padding: 22px;
  min-height: 720px;
}

.ai-recommend {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 18px;
}

.ai-recommend h2 {
  margin: 0 0 6px;
}

.ai-recommend p {
  margin: 0;
  color: #667085;
}

.ai-recommend button {
  color: var(--purple-dark);
  font-weight: 700;
}

.template-catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 22px;
  align-items: start;
}

.catalog-card {
  position: relative;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: transparent;
  text-align: left;
  overflow: visible;
  transition:
    transform 0.24s var(--ease),
    filter 0.24s var(--ease);
}

.catalog-card.active {
  box-shadow: none;
}

.catalog-card.active .catalog-preview {
  outline: 2px solid rgba(47, 125, 246, 0.55);
  outline-offset: 5px;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.09);
}

.catalog-card.active::after {
  content: none;
}

.catalog-card:hover {
  transform: translateY(-7px) scale(1.008);
  filter: drop-shadow(0 18px 30px rgba(15, 23, 42, 0.09));
}

.catalog-card:hover .catalog-preview .thumb,
.catalog-card:hover .catalog-preview .template-thumb-img,
.catalog-card:hover .catalog-preview .real-template,
.mini-template:hover .thumb,
.ai-preview-card:hover .thumb {
  transform: scale(1.035);
}

.catalog-preview .thumb,
.catalog-preview .template-thumb-img,
.catalog-preview .real-template,
.mini-template .thumb,
.ai-preview-card .thumb {
  transition:
    transform 0.24s var(--ease),
    filter 0.24s var(--ease);
  transform-origin: top center;
}

.catalog-preview {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 210 / 297;
  height: auto;
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  border: 0;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.035);
  transition:
    border-color 0.22s var(--ease),
    box-shadow 0.22s var(--ease);
}

.catalog-card:hover .catalog-preview {
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.1);
}

.catalog-preview .thumb {
  height: 100%;
  padding: 0;
}

.catalog-preview .template-thumb-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain !important;
  object-position: center top;
  filter: none;
}

.template-html-thumb {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #fff;
}

.template-html-thumb .real-template {
  width: auto;
  height: 100%;
  max-width: 100%;
  transform-origin: top center;
}

.real-template {
  width: auto;
  height: 100%;
  aspect-ratio: 210 / 297;
  overflow: hidden;
  background: #fff;
  border-radius: 7px;
  box-shadow: inset 0 0 0 1px #dfe5ec, 0 10px 24px rgba(15, 23, 42, 0.08);
  color: #1f2329;
  font-size: 9px;
}

.resume-paper {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.98)),
    #fff;
}

.real-head {
  min-height: 0;
  padding: 16px 18px 12px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  background: var(--template-soft);
}

.virtual-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  background: #fff;
  box-shadow: 0 0 0 2px #fff;
  overflow: hidden;
}

.virtual-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.virtual-avatar span {
  transform: translateY(8px);
  font-size: 10px;
  opacity: 0.84;
}

.portrait-b { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #e9b99b 0 36%, #1e40af 37% 100%); }
.portrait-c { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #f5c7b7 0 36%, #043278 37% 100%); }
.portrait-d { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #d9ad91 0 36%, #0f3876 37% 100%); }
.portrait-e { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #efc0a5 0 36%, #6d28d9 37% 100%); }
.portrait-f { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #f8c5d5 0 36%, #be185d 37% 100%); }
.portrait-g { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #d5b59a 0 36%, #4b5563 37% 100%); }
.portrait-h { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #ecc3a4 0 36%, #0d4394 37% 100%); }
.portrait-i { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #e7b998 0 36%, #0284c7 37% 100%); }
.portrait-j { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #f0c0a8 0 36%, #0e4290 37% 100%); }
.portrait-k { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #ebc09c 0 36%, #b45309 37% 100%); }
.portrait-l { background: radial-gradient(circle at 45% 30%, rgba(255,255,255,0.95) 0 7px, transparent 8px), linear-gradient(145deg, #e7b5d8 0 36%, #7c3aed 37% 100%); }

.real-name b,
.real-name span,
.real-name em {
  display: block;
}

.real-name b {
  font-size: 16px;
  line-height: 1.2;
}

.real-name span {
  margin-top: 2px;
  font-size: 9px;
  color: #4b5563;
}

.real-name em {
  margin-top: 2px;
  font-size: 7px;
  color: #667085;
  font-style: normal;
}

.real-body {
  flex: 1;
  min-height: 0;
  padding: 12px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.real-section {
  position: relative;
  padding-left: 8px;
}

.real-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 3px;
  height: calc(100% - 5px);
  border-radius: 3px;
  background: var(--template);
}

.real-section h4,
.real-section b,
.real-section p {
  margin: 0;
}

.real-section h4 {
  color: var(--template);
  font-size: 9px;
  letter-spacing: 0;
}

.real-section b {
  display: block;
  margin-top: 2px;
  font-size: 9px;
  line-height: 1.25;
}

.real-section p {
  margin-top: 2px;
  color: #667085;
  font-size: 8px;
  line-height: 1.38;
}

.resume-line {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 4px 8px;
  margin-top: 3px;
  align-items: baseline;
}

.resume-line span,
.resume-line em {
  color: #667085;
  font-size: 7px;
  font-style: normal;
  line-height: 1.3;
}

.resume-line b {
  margin-top: 0;
}

.resume-line em {
  grid-column: 2;
}

.resume-bullets {
  margin: 3px 0 0;
  padding-left: 10px;
  color: #4b5563;
  font-size: 7.5px;
  line-height: 1.35;
}

.resume-bullets li + li {
  margin-top: 2px;
}

.skill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}

.skill-row span {
  padding: 2px 5px;
  border-radius: 4px;
  background: var(--template-soft);
  color: var(--template);
  font-size: 7px;
  font-weight: 700;
}

.resume-summary {
  margin: 4px 0 0;
}

.real-template.business .real-head,
.real-template.executive .real-head {
  color: #fff;
  background: var(--template);
}

.real-template.business .real-head span,
.real-template.business .real-head em,
.real-template.executive .real-head span,
.real-template.executive .real-head em {
  color: rgba(255, 255, 255, 0.82);
}

.real-template.campus .real-head,
.real-template.teacher .real-head {
  border-bottom: 4px solid var(--template);
}

.real-template.tech .real-body,
.real-template.elegant .real-body,
.real-template.game .real-body {
  grid-template-columns: 0.86fr 1fr;
  display: grid;
  gap: 7px 9px;
}

.real-template.tech .real-section,
.real-template.elegant .real-section,
.real-template.game .real-section {
  min-height: 0;
}

.real-template.tech .resume-line,
.real-template.elegant .resume-line,
.real-template.game .resume-line {
  display: block;
  margin-top: 2px;
}

.real-template.tech .resume-line span,
.real-template.tech .resume-line em,
.real-template.elegant .resume-line span,
.real-template.elegant .resume-line em,
.real-template.game .resume-line span,
.real-template.game .resume-line em {
  display: block;
  font-size: 6.4px;
}

.real-template.tech .real-section h4,
.real-template.elegant .real-section h4,
.real-template.game .real-section h4 {
  font-size: 8px;
}

.real-template.tech .real-section b,
.real-template.elegant .real-section b,
.real-template.game .real-section b {
  font-size: 7.8px;
}

.real-template.tech .resume-bullets,
.real-template.elegant .resume-bullets,
.real-template.game .resume-bullets,
.real-template.tech .resume-summary,
.real-template.elegant .resume-summary,
.real-template.game .resume-summary {
  font-size: 6.5px;
  line-height: 1.32;
}

.real-template.tech .skill-row,
.real-template.elegant .skill-row,
.real-template.game .skill-row {
  gap: 3px;
}

.real-template.tech .skill-row span,
.real-template.elegant .skill-row span,
.real-template.game .skill-row span {
  padding: 1px 4px;
  font-size: 6px;
}

.real-template.creative .resume-paper {
  background: linear-gradient(90deg, var(--template-soft) 0 31%, #fff 31% 100%);
}

.real-template.creative .real-head {
  background: transparent;
}

.real-template.metrics .real-metrics,
.real-template.data .real-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  padding: 8px 16px 0;
}

.real-template .real-metrics {
  display: none;
}

.real-metrics strong {
  min-height: 24px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: var(--template-soft);
  color: var(--template);
  font-size: 8px;
}

.real-template.research .real-head {
  background: linear-gradient(90deg, var(--template-soft), #fff);
}

.real-template.executive .real-section::before {
  background: #111827;
}

.real-template.modularPeach {
  background: #fff;
}

.modular-thumb-paper {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 33% 67%;
  overflow: hidden;
  background: #fff;
}

.modular-thumb-side {
  padding: 18px 10px 12px;
  background: var(--template-soft);
  overflow: hidden;
}

.modular-thumb-side h3 {
  margin: 0;
  color: #111827;
  font-size: 19px;
  line-height: 1.05;
  font-weight: 900;
}

.modular-thumb-side p {
  margin: 6px 0 20px;
  color: #111827;
  font-size: 9px;
  font-weight: 700;
}

.modular-thumb-side h4 {
  margin: 16px 0 8px;
  color: #111827;
  font-size: 9px;
  font-weight: 900;
}

.modular-thumb-side span,
.modular-thumb-side b {
  display: block;
  margin-top: 3px;
  color: #374151;
  font-size: 6.9px;
  line-height: 1.35;
  font-weight: 500;
}

.modular-thumb-side b {
  color: #111827;
  font-weight: 700;
}

.modular-thumb-main {
  padding: 17px 14px 12px;
  overflow: hidden;
}

.modular-thumb-section {
  margin-bottom: 11px;
}

.modular-thumb-section div {
  display: flex;
  align-items: center;
  min-height: 15px;
  border-bottom: 2px solid color-mix(in srgb, var(--template-soft), #fff 22%);
}

.modular-thumb-section strong {
  padding: 4px 7px 3px;
  border-radius: 5px 5px 0 0;
  background: var(--template-soft);
  color: #111827;
  font-size: 8px;
  line-height: 1;
}

.modular-thumb-section em {
  margin-left: 5px;
  color: #9ca3af;
  font-size: 6.5px;
  font-style: normal;
}

.modular-thumb-section h5 {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 6px 0 3px;
  color: #111827;
  font-size: 8px;
  line-height: 1.2;
}

.modular-thumb-section h5 span {
  flex: 0 0 auto;
  font-size: 6.8px;
  font-weight: 600;
}

.modular-thumb-section p {
  margin: 0;
  color: #4b5563;
  font-size: 6.8px;
  line-height: 1.45;
}

.catalog-meta h3 {
  margin: 0;
  color: #0f172a;
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: 0;
}

.catalog-title-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 34px;
  padding: 12px 2px 0;
}

.catalog-title-line strong {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff7e6;
  color: #d97706;
  font-size: 12px;
}

.tag-row,
.catalog-meta div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.catalog-one-line {
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  min-width: 0;
  padding-right: 40px;
  white-space: nowrap;
  overflow: hidden;
}

.catalog-one-line b {
  flex: 0 0 auto;
  color: var(--purple-dark);
  font-size: 15px;
  line-height: 1;
}

.catalog-one-line span {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #667085;
  font-size: 14px;
}

.catalog-actions {
  display: none;
}

.catalog-actions button {
  height: 36px;
  min-width: 0;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 14px;
  white-space: nowrap;
}

.catalog-actions .outline {
  padding: 0 10px;
}

.catalog-hover-actions {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  padding: 0 12px 16px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0), rgba(15, 23, 42, 0.38));
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition:
    opacity 0.18s var(--ease),
    transform 0.18s var(--ease);
}

.catalog-card:hover .catalog-hover-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.catalog-hover-actions button {
  height: 38px;
  min-width: 96px;
  padding: 0 14px;
  border-radius: 9px;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.18);
  white-space: nowrap;
  word-break: keep-all;
  line-height: 1;
}

.catalog-hover-actions .outline {
  min-width: 78px;
}

.catalog-hover-actions .favorite-mini {
  min-width: 38px;
  width: 38px;
  padding: 0;
}

.favorite-mini {
  border: 1px solid #e5e7eb;
  color: #667085;
  background: #fff;
}

.favorite-mini.is-favorite {
  border-color: #f4d18c;
  color: #b66f00;
  background: #fff8e8;
}

.tag-row em,
.catalog-meta em {
  padding: 4px 9px;
  border-radius: 999px;
  background: #edf7ff;
  color: #2563eb;
  font-style: normal;
  font-size: 12px;
}

.template-inspector {
  overflow: hidden;
  position: sticky;
  top: 76px;
}

.inspector-preview {
  height: 335px;
  padding: 22px;
  background: #eef2f8;
}

.inspector-preview .thumb {
  height: 100%;
  padding: 0;
  border-radius: 10px;
}

.inspector-body {
  padding: 20px;
}

.title-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.title-line h2 {
  margin: 0;
}

.title-line span {
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff7e6;
  color: #d97706;
  font-size: 12px;
}

.full,
.ghost-full {
  width: 100%;
  height: 42px;
  margin-top: 12px;
  border-radius: 6px;
}

.ghost-full {
  border: 1px solid #e5e7eb;
  color: #4b5563;
  background: #fff;
}

.inspector-body p {
  color: #667085;
  line-height: 1.8;
}

.layout-choice {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 14px;
}

.layout-choice button {
  height: 36px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #667085;
}

.layout-choice button.active {
  border-color: #bcd6ff;
  background: var(--purple-light);
  color: var(--purple-dark);
  font-weight: 700;
}

.empty-state {
  grid-column: 1 / -1;
  min-height: 220px;
  display: grid;
  place-items: center;
  color: #667085;
}

.ai-title {
  text-align: center;
  margin-bottom: 30px;
}

.ai-title h1 {
  font-size: 38px;
}

.ai-title .primary {
  margin-top: 20px;
}

.ai-overview {
  display: grid;
  gap: 20px;
}

.ai-flow-preview,
.ai-source-preview {
  display: grid;
  gap: 16px;
}

.ai-flow-preview {
  grid-template-columns: repeat(5, 1fr);
}

.flow-card,
.source-card {
  padding: 22px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-soft);
  text-align: left;
}

.flow-card b {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--purple);
}

.flow-card strong,
.flow-card span,
.source-card b,
.source-card span {
  display: block;
}

.flow-card strong,
.source-card b {
  margin-top: 16px;
  color: #111827;
  font-size: 18px;
}

.flow-card span,
.source-card span {
  margin-top: 8px;
  color: #667085;
  line-height: 1.7;
}

.ai-source-preview {
  width: min(760px, 100%);
  margin: 0 auto;
  grid-template-columns: repeat(2, 1fr);
}

.source-card:hover {
  border-color: #bcd6ff;
  transform: translateY(-2px);
  box-shadow: var(--shadow-pop);
}

.source-card em {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(47, 125, 246, 0.1);
  color: #1f63d6;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.source-card.selected {
  border-color: #2f7df6;
  background: linear-gradient(145deg, rgba(240, 245, 253, 0.95), rgba(255, 255, 255, 0.94));
  box-shadow: 0 18px 42px rgba(31, 99, 214, 0.14);
}

.source-card.selected em {
  background: #2f7df6;
  color: #fff;
}

.primary-source {
  background: #f6faff;
  border-color: #bcd6ff;
}

.ai-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(47, 125, 246, 0.11);
  color: #1f63d6;
  font-size: 14px;
  font-weight: 900;
}

.ai-build-panel {
  width: min(900px, 100%);
  margin: 4px auto 0;
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr 290px;
  gap: 24px;
  align-items: stretch;
  border: 1px solid rgba(47, 125, 246, 0.36);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 24px 54px rgba(15, 56, 118, 0.1);
}

.ai-build-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 18px;
}

.ai-build-grid label {
  display: grid;
  gap: 8px;
  color: #667085;
  font-size: 14px;
  font-weight: 800;
}

.ai-build-grid select,
.ai-build-job,
.ai-build-jd {
  width: 100%;
}

.ai-build-grid select {
  height: 46px;
  padding: 0 12px;
  border: 1px solid #dbe5ef;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  font-weight: 700;
}

.ai-build-job {
  margin-top: 14px;
}

.ai-build-jd {
  min-height: 138px;
  margin-top: 12px;
}

.ai-build-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
}

.ai-build-message {
  margin: 14px 0 0;
  color: #1f63d6;
  font-size: 14px;
  font-weight: 800;
}

.ai-build-preview {
  padding: 22px;
  display: grid;
  align-content: center;
  gap: 12px;
  border-radius: 18px;
  background: linear-gradient(160deg, #f0f6ff, #f8fbff);
  border: 1px solid #c6d8f2;
}

.ai-build-preview b {
  color: #0f172a;
  font-size: 20px;
}

.ai-build-preview span {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  color: #667085;
  font-size: 14px;
  line-height: 1.5;
}

.ai-sample-search-panel {
  width: min(1040px, 100%);
  margin: 0 auto;
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 26px;
  border: 1px solid rgba(47, 125, 246, 0.36);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 24px 54px rgba(15, 56, 118, 0.1);
}

.ai-sample-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  gap: 12px;
  margin-top: 18px;
}

.ai-sample-search-input {
  height: 48px;
}

.ai-sample-examples {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

.ai-sample-examples button {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #fff;
  color: #4b5563;
  font-size: 13px;
  font-weight: 800;
}

.ai-sample-examples button:hover {
  border-color: #bcd6ff;
  color: #1f63d6;
}

.ai-sample-side {
  height: 100%;
  padding: 20px;
  display: grid;
  align-content: center;
  gap: 12px;
  border-radius: 16px;
  background: linear-gradient(160deg, #f0f6ff, #f8fbff);
  border: 1px solid #c6d8f2;
}

.ai-sample-side b {
  color: #0f172a;
  font-size: 19px;
}

.ai-sample-side span {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  color: #667085;
  font-size: 14px;
  line-height: 1.5;
}

.ai-sample-results {
  width: min(1180px, 100%);
  margin: 22px auto 0;
  padding: 26px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.ai-sample-results-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.ai-sample-results-head h2 {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 24px;
}

.ai-sample-results-head p {
  margin: 0;
  color: #667085;
  font-weight: 700;
}

.ai-sample-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ai-sample-card {
  min-width: 0;
  display: grid;
  grid-template-rows: 250px 1fr;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.ai-sample-thumb {
  min-width: 0;
  overflow: hidden;
  display: grid;
  place-items: start center;
  padding: 12px;
  background:
    linear-gradient(rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    #f8fbff;
  background-size: 20px 20px;
}

.ai-sample-live {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: start center;
}

.ai-sample-live .mini-live-template {
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
  transform-origin: top center;
}

.ai-sample-card-body {
  padding: 18px;
  display: grid;
  gap: 12px;
}

.ai-sample-rank {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(47, 125, 246, 0.1);
  color: #1f63d6;
  font-size: 12px;
  font-weight: 900;
}

.ai-sample-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 20px;
  line-height: 1.25;
}

.ai-sample-card p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.65;
}

.ai-sample-meta,
.ai-sample-tags,
.ai-sample-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ai-sample-meta span {
  padding: 5px 8px;
  border-radius: 8px;
  background: var(--template-soft);
  color: var(--template);
  font-size: 12px;
  font-weight: 900;
}

.ai-sample-tags span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #4b5563;
  font-size: 12px;
  font-weight: 800;
}

.ai-sample-actions {
  margin-top: 2px;
}

.ai-sample-actions button {
  flex: 1 1 120px;
  min-width: 0;
  height: 38px;
  padding: 0 12px;
  border-radius: 9px;
  white-space: nowrap;
}

.ai-sample-preview-modal {
  width: min(1040px, calc(100vw - 72px));
  max-height: 92vh;
  padding: 24px;
  border-radius: 14px;
  overflow: auto;
}

.modal.ai-sample-preview-modal {
  width: min(1040px, calc(100vw - 72px));
  max-height: 92vh;
  padding: 24px;
  border-radius: 14px;
  overflow: auto;
}

.ai-sample-preview-stage {
  width: min(820px, 100%);
  margin: 24px auto 0;
  display: grid;
  place-items: start center;
  padding: 18px;
  border-radius: 16px;
  background:
    linear-gradient(rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    #f8fbff;
  background-size: 24px 24px;
  box-shadow: inset 0 0 0 1px #e5e7eb;
}

.ai-sample-preview-stage .mini-live-template {
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.14);
}

.ai-sample-preview-modal .template-preview-actions button {
  min-width: 96px;
  white-space: nowrap;
  word-break: keep-all;
}

.ai-sample-preview-stage .resume-thumb-live {
  width: 650px;
  max-width: 100%;
  height: auto;
  overflow: visible;
  background: transparent;
}

.ai-sample-preview-stage .resume-thumb-live .mini-live-template {
  position: static;
  left: auto;
  top: auto;
  transform: scale(var(--zoom, 0.68)) !important;
  transform-origin: top center !important;
}

.editor-sample-modal {
  width: min(1120px, calc(100vw - 72px));
  max-height: 92vh;
  padding: 24px;
  overflow: auto;
}

.editor-sample-text-modal {
  width: min(760px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
}

.editor-sample-text-modal .ai-modal-title {
  margin-bottom: 0;
}

.editor-sample-generator {
  flex: 0 0 auto;
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #d8d1ff;
  border-radius: 14px;
  background: #f7f6ff;
  box-shadow: 0 16px 36px rgba(107, 92, 255, 0.08);
}

.editor-sample-generator-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.editor-sample-generator-head h3,
.editor-sample-preview-title h3 {
  margin: 0;
  color: #5f55ff;
  font-size: 18px;
  line-height: 1.35;
}

.editor-sample-generator-head span,
.editor-sample-preview-title span {
  display: block;
  margin-top: 5px;
  color: #667085;
  font-size: 13px;
  line-height: 1.5;
}

.editor-sample-generator-head .ghost-btn {
  min-width: 104px;
  height: 38px;
  border-color: #9f96ff;
  color: #6b5cff;
  background: #fff;
  white-space: nowrap;
}

.editor-sample-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.editor-sample-text-modal .ai-sample-search-input {
  height: 46px;
  border-color: #e2defe;
  background: #fff;
}

.editor-sample-text-preview {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
}

.editor-sample-preview-title {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
}

.editor-sample-preview-title em {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #667085;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.editor-sample-textarea {
  width: 100%;
  min-height: 330px;
  max-height: calc(100vh - 410px);
  padding: 18px 20px;
  border: 0;
  border-radius: 10px;
  outline: none;
  resize: none;
  background: #f3f4f7;
  color: #3f4654;
  font-size: 15px;
  line-height: 1.85;
  overflow: auto;
}

.editor-sample-footer {
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 0;
  padding-top: 14px;
  border-top: 1px solid #eef2f7;
}

.editor-sample-footer .ghost-btn,
.editor-sample-footer .small-primary {
  min-width: 150px;
  height: 42px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 900;
}

.editor-sample-footer .ghost-btn {
  color: #6b5cff;
  border-color: #9f96ff;
  background: #fff;
}

.editor-sample-search-panel {
  width: 100%;
  margin-top: 18px;
  box-shadow: none;
}

.editor-sample-results {
  width: 100%;
  margin-top: 18px;
  box-shadow: none;
}

.editor-sample-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.editor-sample-card {
  grid-template-rows: 220px 1fr;
}

.editor-sample-card .ai-sample-actions button {
  flex-basis: 140px;
}

.ai-guide-panel {
  width: min(900px, 100%);
  margin: 4px auto 0;
  padding: 26px 30px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow-soft);
}

.ai-guide-panel.compact {
  margin-top: 18px;
}

.ai-guide-panel h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
}

.ai-guide-panel p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 16px;
  line-height: 1.8;
}

.ai-guide-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.ai-guide-list span {
  min-height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--purple-light);
  color: var(--purple-dark);
  font-weight: 700;
  font-size: 14px;
}

.ai-workspace {
  display: grid;
  grid-template-columns: 240px 1fr 340px;
  gap: 18px;
  padding: 18px;
  border-color: var(--purple);
  box-shadow: 0 18px 46px rgba(31, 99, 214, 0.1);
}

.ai-step-side {
  display: grid;
  gap: 14px;
}

.ai-step-side button,
.step-tabs button {
  min-height: 86px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  text-align: left;
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: 24px 20px;
  gap: 0 12px;
}

.ai-step-side b,
.step-tabs b {
  grid-row: span 2;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #edf2f7;
  color: #667085;
}

.ai-step-side .active,
.step-tabs .active {
  border-color: #bcd6ff;
  background: #f6faff;
  box-shadow: 0 8px 18px rgba(47, 125, 246, 0.08);
}

.ai-step-side button:hover,
.step-tabs button:hover {
  border-color: #bcd6ff;
  transform: translateY(-1px);
}

.ai-step-side .active b,
.step-tabs .active b {
  background: var(--purple);
  color: #fff;
}

.ai-step-side span,
.step-tabs span {
  font-weight: 800;
  color: #111827;
}

.ai-step-side em,
.step-tabs em {
  color: #667085;
  font-style: normal;
}

.ai-center {
  display: grid;
  gap: 14px;
}

.step-tabs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fbfcfe;
}

.step-tabs button {
  min-height: 60px;
  padding: 12px;
  grid-template-columns: 32px 1fr;
  grid-template-rows: 32px;
  align-items: center;
}

.step-tabs b {
  width: 30px;
  height: 30px;
}

.step-tabs span {
  white-space: nowrap;
  font-size: 13px;
}

.step-tabs em {
  display: none;
}

.ai-form-card,
.ai-result-card,
.ai-preview-side {
  padding: 18px;
}

.card-label {
  float: right;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--purple-light);
  color: var(--purple-dark);
  font-weight: 800;
}

.ai-form-card h2,
.ai-result-card h2,
.ai-preview-side h2 {
  margin: 0 0 16px;
}

.ai-info-grid,
.jd-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.ai-info-grid button,
.jd-grid input {
  min-height: 44px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
  padding: 0 12px;
  color: #4b5563;
}

.jd-grid {
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 12px;
}

.jd-grid.compact {
  grid-template-columns: 1fr 1fr;
}

.source-grid,
.ai-module-summary {
  display: grid;
  gap: 12px;
}

.source-grid {
  grid-template-columns: repeat(3, 1fr);
}

.source-grid button,
.ai-module-summary button {
  min-height: 92px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  text-align: left;
}

.source-grid button:hover,
.ai-module-summary button:hover {
  border-color: #bcd6ff;
  background: #f6faff;
}

.source-grid b,
.source-grid span,
.ai-module-summary b,
.ai-module-summary span {
  display: block;
}

.source-grid span,
.ai-module-summary span {
  margin-top: 8px;
  color: #667085;
  line-height: 1.6;
}

.ai-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
  margin-top: 14px;
}

.ai-edit-grid label {
  color: #667085;
  font-size: 14px;
}

.ai-edit-grid input {
  width: 100%;
  height: 42px;
  margin-top: 6px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
  outline: none;
}

.ai-module-summary {
  grid-template-columns: repeat(2, 1fr);
  margin-top: 16px;
}

.wizard-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 18px;
}

.muted-copy {
  color: #667085;
  line-height: 1.8;
}

.result-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.ai-result-placeholder {
  min-height: 180px;
}

.placeholder-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 18px;
}

.placeholder-steps span {
  min-height: 42px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #f6faff;
  color: var(--purple-dark);
  border: 1px dashed #bcd6ff;
  font-weight: 700;
}

.result-metrics div {
  padding: 16px;
  border-radius: 10px;
  background: var(--purple-light);
  text-align: center;
}

.result-metrics b {
  display: block;
  color: var(--purple-dark);
  font-size: 32px;
}

.result-metrics span {
  color: #667085;
}

.diff-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.diff-item {
  min-height: 58px;
  padding: 12px;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 54px 1fr 54px;
  gap: 10px;
  align-items: center;
  border-left: 4px solid var(--purple);
  background: #f6faff;
}

.diff-item.type-1 {
  border-left-color: #2f80ed;
  background: #f4f9ff;
}

.diff-item.type-2 {
  border-left-color: #ef4444;
  background: #fff7f7;
}

.diff-item button {
  color: var(--purple-dark);
  font-weight: 800;
}

.diff-item button:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.diff-item.applied {
  border-left-color: #8a94a6;
  background: #f8fafc;
  opacity: 0.82;
}

.diff-item.applied button {
  color: #667085;
}

.ai-preview-card {
  height: 430px;
  padding: 18px;
  border-radius: 12px;
  background: #eef2f8;
  overflow: hidden;
}

.ai-preview-card .thumb {
  height: 100%;
  padding: 0;
}

.version-line {
  margin-top: 12px;
  color: #667085;
  font-size: 13px;
  text-align: center;
}

.preview-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-top: 14px;
}

.preview-actions button {
  height: 38px;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  color: #4b5563;
  white-space: nowrap;
}

.preview-actions .primary {
  padding: 0 10px;
}

.modal-mask {
  position: fixed;
  inset: 0;
  background: rgba(20, 23, 34, 0.5);
  display: grid;
  place-items: center;
  z-index: 50;
  animation: fadeIn 0.18s var(--ease);
  backdrop-filter: blur(2px);
}

.modal {
  width: 576px;
  background: #fff;
  padding: 26px 26px 28px;
  border-radius: 6px;
  box-shadow: 0 24px 70px rgba(24, 28, 46, 0.24);
  position: relative;
  animation: modalIn 0.2s var(--ease);
}

.modal h2 {
  margin: 0 0 20px;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 750;
}

.template-preview-modal {
  width: min(1040px, calc(100vw - 72px));
  max-height: 92vh;
  padding: 24px;
  border-radius: 14px;
  overflow: auto;
}

.template-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-right: 36px;
}

.template-preview-head h2 {
  margin-bottom: 6px;
}

.template-preview-head p {
  margin: 0;
  color: #667085;
}

.template-preview-actions {
  display: flex;
  gap: 10px;
}

.template-large-stage {
  width: min(760px, 100%);
  min-height: 0;
  margin: 24px auto 0;
  padding: 16px;
  border-radius: 16px;
  background:
    linear-gradient(rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    #f8fbff;
  background-size: 24px 24px;
  box-shadow: inset 0 0 0 1px #e5e7eb;
}

.template-preview-png-stage .template-thumb-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1300 / 1840;
  object-fit: contain;
  object-position: top center;
  border-radius: 10px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.14);
}

.template-large-stage .real-template {
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.14);
  font-size: 20px;
}

.template-large-stage .real-head {
  min-height: 148px;
  grid-template-columns: 82px 1fr;
  gap: 22px;
  padding: 32px 42px;
}

.template-large-stage .virtual-avatar {
  width: 82px;
  height: 82px;
}

.template-large-stage .real-name b {
  font-size: 34px;
}

.template-large-stage .real-name span {
  font-size: 18px;
}

.template-large-stage .real-name em {
  font-size: 13px;
}

.template-large-stage .real-body {
  padding: 26px 42px 34px;
  gap: 18px;
}

.template-large-stage .real-section {
  padding-left: 14px;
}

.template-large-stage .real-section h4 {
  font-size: 17px;
}

.template-large-stage .real-section b {
  font-size: 16px;
}

.template-large-stage .resume-line {
  grid-template-columns: 128px 1fr;
  gap: 6px 18px;
  margin-top: 8px;
}

.template-large-stage .resume-line span,
.template-large-stage .resume-line em,
.template-large-stage .resume-bullets {
  font-size: 13px;
}

.template-large-stage .resume-bullets {
  padding-left: 18px;
  line-height: 1.55;
}

.template-large-stage .skill-row {
  gap: 8px;
}

.template-large-stage .skill-row span {
  padding: 5px 9px;
  font-size: 12px;
}

.template-large-stage .real-metrics strong {
  min-height: 46px;
  font-size: 16px;
}

.template-large-stage .real-name em {
  font-size: 15px;
}

.template-large-stage .real-body {
  padding: 30px 42px 42px;
  gap: 20px;
}

.template-large-stage .real-section {
  padding-left: 16px;
}

.template-large-stage .real-section::before {
  width: 5px;
}

.template-large-stage .real-section h4 {
  font-size: 17px;
}

.template-large-stage .real-section b {
  font-size: 18px;
}

.template-large-stage .real-section p {
  font-size: 14px;
  line-height: 1.75;
}

.template-large-stage .real-metrics {
  padding: 18px 42px 0;
}

.template-large-stage .real-metrics strong {
  min-height: 56px;
  font-size: 22px;
}

.name-modal h2::before {
  content: "+";
  margin-right: 12px;
  font-weight: 400;
}

.mini-modal {
  width: 420px;
}

.versions-modal {
  width: min(520px, calc(100vw - 32px));
}

.version-list {
  display: grid;
  gap: 10px;
  margin: 14px 0 4px;
  max-height: 320px;
  overflow: auto;
}

.version-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.version-item div {
  display: grid;
  gap: 4px;
}

.version-item b {
  color: var(--ink);
}

.version-item span {
  color: var(--muted);
  font-size: 13px;
}

.login-modal {
  width: min(440px, calc(100vw - 32px));
  padding: 34px 34px 30px;
}

.login-modal .brand {
  margin-bottom: 18px;
}

.login-modal h2,
.legal-modal h2 {
  margin: 0;
}

.login-modal > p,
.legal-modal > p {
  margin: 10px 0 22px;
  color: #667085;
  font-size: 15px;
  line-height: 1.7;
}

.login-modal .login-input {
  margin-bottom: 12px;
}

.login-modal .agreement {
  margin-top: 16px;
}

.legal-modal {
  width: min(760px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 44px));
  padding: 34px;
  display: flex;
  flex-direction: column;
}

.legal-meta.compact {
  margin-bottom: 18px;
}

.legal-scroll {
  overflow: auto;
  padding-right: 8px;
}

.legal-scroll section {
  margin-bottom: 22px;
}

.legal-scroll h3 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 18px;
}

.legal-scroll p {
  margin: 0 0 10px;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.8;
}

.confirm-text {
  margin: 10px 0 28px;
  color: #555967;
  line-height: 1.7;
}

.close {
  position: absolute;
  right: 18px;
  top: 14px;
  font-size: 22px;
  color: #575a66;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  line-height: 1;
}

.close:hover {
  background: #f4f4f7;
  color: #232632;
}

.field-label {
  color: #666a75;
  font-size: 14px;
  margin-bottom: 6px;
}

.input {
  width: 100%;
  height: 36px;
  border: 1px solid #8277e8;
  outline: none;
  border-radius: 4px;
  padding: 0 10px;
  background: #fff;
}

.hint {
  margin: 7px 0 28px;
  color: #6f7280;
  font-size: 13px;
}

.modal-footer {
  text-align: right;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.small-primary {
  height: 34px;
  min-width: 62px;
  padding: 0 16px;
  border-radius: 4px;
  font-size: 14px;
}

.small-primary.danger {
  background: #ef5b5b;
}

.ghost-btn {
  border: 1px solid #dedfe8;
  background: #fff;
  color: #575b68;
  box-shadow: none;
}

.ghost-btn:hover {
  border-color: #cfd0dc;
  background: #f8f8fb;
}

.upload-box {
  height: 176px;
  border: 1px dashed #bbb8ea;
  border-radius: 8px;
  background: #fafaff;
  display: grid;
  place-items: center;
  text-align: center;
  color: #77798a;
  margin-bottom: 18px;
  transition:
    border-color 0.22s var(--ease),
    background-color 0.22s var(--ease),
    transform 0.22s var(--ease);
}

.upload-box:hover {
  border-color: var(--purple);
  background: #f7f5ff;
  transform: translateY(-1px);
}

.upload-box.ready {
  border-style: solid;
  border-color: #628ac7;
  background: #f4f7fc;
}

.import-modal {
  width: 620px;
}

.upload-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: #f7f7fb;
  border-radius: 6px;
  opacity: 0.55;
  transform: translateY(-2px);
  transition:
    opacity 0.18s var(--ease),
    transform 0.18s var(--ease);
}

.upload-list.show {
  opacity: 1;
  transform: translateY(0);
}

.upload-list b,
.upload-list span {
  display: block;
}

.upload-list span {
  color: #8a8d9b;
  font-size: 13px;
  margin-top: 4px;
}

.import-summary {
  border: 1px solid #e3e6ef;
  border-radius: 8px;
  padding: 14px;
  margin: -4px 0 14px;
  background: #fff;
}

.import-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.import-summary-head b,
.import-summary-head span {
  display: block;
}

.import-summary-head b {
  color: #222532;
  font-size: 16px;
}

.import-summary-head span,
.import-summary-contact,
.import-summary-hints {
  color: #777b8c;
  font-size: 13px;
}

.import-summary-head em {
  font-style: normal;
  color: #164da0;
  background: #e9f0fb;
  padding: 3px 8px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 12px;
}

.import-summary-contact,
.import-summary-metrics,
.import-summary-hints div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.import-summary-contact span,
.import-summary-hints span {
  background: #f6f7fb;
  border-radius: 4px;
  padding: 4px 8px;
}

.import-summary-metrics span {
  min-width: 74px;
  padding: 8px 10px;
  border-radius: 6px;
  background: #f7fafc;
  color: #555b68;
}

.import-summary-metrics b {
  margin-right: 4px;
  color: #222532;
  font-size: 18px;
}

.import-summary-hints p {
  margin: 10px 0 0;
}

.upload-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #f0efff;
  color: var(--purple);
  display: grid;
  place-items: center;
  font-size: 28px;
  margin: 0 auto 12px;
}

.login-view {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 430px;
  background:
    radial-gradient(circle at 22% 20%, rgba(110, 158, 231, 0.35), transparent 28%),
    radial-gradient(circle at 62% 80%, rgba(108, 94, 237, 0.22), transparent 28%),
    #f7f9ff;
}

.login-art {
  padding: 42px 0 0 70px;
  position: relative;
}

.login-title {
  margin-top: 150px;
  font-size: 48px;
  font-weight: 900;
  line-height: 1.18;
}

.login-title span {
  color: var(--purple);
}

.login-sub {
  color: #606575;
  margin-top: 20px;
  font-size: 20px;
}

.floating-doc {
  position: absolute;
  left: 47%;
  top: 26%;
  width: 310px;
  height: 430px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 22px 60px rgba(62, 71, 114, 0.2);
  transform: rotate(-4deg);
  padding: 30px;
}

.login-panel {
  background: #fff;
  min-height: 100vh;
  padding: 96px 46px;
  box-shadow: -12px 0 40px rgba(55, 63, 96, 0.08);
}

.login-panel .brand {
  min-width: 0;
}

.login-back {
  margin-top: 24px;
  color: #0043a8;
  font-weight: 800;
}

.login-panel h2 {
  margin: 44px 0 8px;
  font-size: 28px;
}

.login-panel p {
  color: #777b8d;
}

.login-tabs {
  display: flex;
  gap: 24px;
  margin: 36px 0 22px;
}

.login-tabs button {
  font-size: 18px;
  padding-bottom: 8px;
  color: #777;
}

.login-tabs .active {
  color: #161621;
  border-bottom: 3px solid var(--purple);
  font-weight: 700;
}

.login-input {
  width: 100%;
  height: 46px;
  margin-bottom: 14px;
  border: 1px solid #e3e4ec;
  border-radius: 4px;
  padding: 0 14px;
  background: #fafafa;
}

.login-code-row {
  display: grid;
  grid-template-columns: 1fr 104px;
  gap: 10px;
}

.login-code-row button {
  height: 46px;
  border: 1px solid #d9d9e8;
  border-radius: 4px;
  color: var(--purple);
  background: #fff;
}

.login-code-row button:disabled,
.login-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.login-message {
  min-height: 22px;
  margin: -2px 0 8px;
  color: #0b459b;
  font-size: 14px;
  line-height: 1.5;
}

.login-btn {
  width: 100%;
  height: 46px;
  color: #fff;
  background: var(--purple);
  border-radius: 4px;
  font-size: 16px;
  margin-top: 8px;
}

.agreement {
  margin-top: 18px;
  color: #8b8d99;
  font-size: 13px;
  line-height: 1.7;
}

.agreement button {
  color: #0043a8;
  font-weight: 800;
}

.login-contact {
  margin-top: 12px;
  color: #9ca3af;
  font-size: 13px;
}

.editor-view {
  height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 7%, rgba(47, 125, 246, 0.12), transparent 27%),
    linear-gradient(rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    #f8fbff;
  background-size: auto, 24px 24px, 24px 24px, auto;
}

.editor-topbar {
  height: 60px;
  border-bottom: 1px solid rgba(217, 228, 244, 0.82);
  background: var(--surface-glass);
  backdrop-filter: saturate(180%) blur(18px);
  display: flex;
  align-items: center;
  padding: 0 16px;
  gap: 12px;
  position: relative;
  z-index: 10;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.045);
}

.topbar-group,
.doc-info {
  display: flex;
  align-items: center;
}

.topbar-group {
  gap: 6px;
}

.left-tools {
  position: relative;
}

.doc-info {
  gap: 8px;
  min-width: 0;
}

.icon-btn {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #4b5563;
  display: grid;
  place-items: center;
}

.icon-btn:hover,
.top-mini:hover,
.file-btn:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
  color: var(--purple-dark);
  border-color: #b8ceef;
}

.file-btn {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #e7edf2;
  border-radius: 10px;
  background: #fff;
  font-weight: 700;
}

.file-menu {
  position: absolute;
  left: 42px;
  top: 44px;
  width: 184px;
  padding: 8px 0;
  background: #fff;
  border: 1px solid #edf0f4;
  border-radius: 12px;
  box-shadow: var(--shadow-pop);
  z-index: 30;
  animation: popMenu 0.16s var(--ease);
}

.file-menu button {
  display: block;
  width: 100%;
  height: 34px;
  padding: 0 14px;
  text-align: left;
}

.file-menu button:hover {
  background: #f5f5fa;
}

.doc-title {
  font-weight: 700;
}

.doc-title-btn {
  max-width: 230px;
  height: 34px;
  padding: 0 10px;
  border-radius: 10px;
  color: #111827;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.doc-title-btn:hover {
  background: #f6faff;
  color: var(--purple-dark);
}

.saved {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #e4edf3;
  border-radius: 999px;
  background: #fff;
  color: #787b88;
  font-size: 12px;
  white-space: nowrap;
}

.saved span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 0 4px rgba(47, 125, 246, 0.12);
}

.saved b {
  color: #4b5563;
  font-size: 12px;
}

.saved em {
  max-width: 190px;
  overflow: hidden;
  color: #8a8f9c;
  font-style: normal;
  text-overflow: ellipsis;
}

.saved.save-saving span {
  background: #f59e0b;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.14);
}

.saved.save-dirty span {
  background: #6366f1;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.13);
}

.saved.save-error {
  border-color: #fecdd3;
  background: #fff7f8;
}

.saved.save-error span {
  background: #e11d48;
  box-shadow: 0 0 0 4px rgba(225, 29, 72, 0.12);
}

.editor-spacer {
  flex: 1;
}

.top-mini {
  height: 36px;
  padding: 0 16px;
  border-radius: 10px;
  border: 1px solid #ccdaef;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  color: var(--purple-dark);
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.035);
}

.tool-divider {
  width: 1px;
  height: 20px;
  margin: 0 4px;
  background: #e5e7eb;
}

.zoom-chip {
  height: 32px;
  min-width: 58px;
  padding: 0 10px;
  border: 1px solid #edf0f4;
  border-radius: 999px;
  background: #fff;
  color: #4b5563;
  font-weight: 800;
  font-size: 13px;
}

.zoom-chip:hover {
  border-color: #bcd6ff;
  color: var(--purple-dark);
  background: #f6faff;
}

.publish-tools {
  margin-left: 4px;
}

.editor-body {
  height: calc(100vh - 60px);
  display: grid;
  grid-template-columns: minmax(720px, 1fr) 620px;
  position: relative;
}

.canvas-area {
  position: relative;
  overflow: auto;
  overscroll-behavior: contain;
  touch-action: none;
  padding: 56px 118px 90px 32px;
  background:
    radial-gradient(circle at 82% 10%, rgba(22, 96, 208, 0.13), transparent 24%),
    linear-gradient(rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 125, 246, 0.035) 1px, transparent 1px),
    #f8fbff;
  background-size: auto, 24px 24px, 24px 24px, auto;
}

.canvas-area [data-resume-canvas],
.canvas-area .resume-page {
  cursor: grab;
}

.canvas-area.is-dragging,
.canvas-area.is-dragging [data-resume-canvas],
.canvas-area.is-dragging .resume-page {
  cursor: grabbing;
  user-select: none;
}

.canvas-zoom-tools {
  position: fixed;
  right: 650px;
  bottom: 28px;
  z-index: 14;
  width: max-content;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border: 1px solid rgba(197, 213, 236, 0.95);
  border-radius: 16px;
  background: var(--surface-glass);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(12px);
}

.canvas-area::-webkit-scrollbar,
.side-panel::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.canvas-area::-webkit-scrollbar-thumb,
.side-panel::-webkit-scrollbar-thumb {
  background: #c9cad4;
  border-radius: 8px;
}

.a4 {
  width: min(650px, calc(100% - 120px));
  margin: 0 auto 80px;
  display: grid;
  gap: 28px;
  background: transparent;
  overflow: visible;
  transition: transform 0.2s var(--ease);
  transform: scale(var(--zoom, 1));
  transform-origin: top center;
  font-family: var(--resume-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif);
  will-change: transform;
}

.resume-page {
  position: relative;
  width: 100%;
  aspect-ratio: 210 / 297;
  min-height: 920px;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 0 0 1px #dfe3ea, 0 24px 70px rgba(15, 23, 42, 0.12);
  contain: layout paint;
}

.resume-page-content {
  min-height: 100%;
  padding-bottom: 78px;
  box-sizing: border-box;
}

.resume-page[data-page]:not([data-page="1"]) {
  padding-top: 24px;
}

.page-num {
  position: absolute;
  left: 50%;
  bottom: 20px;
  min-width: 44px;
  height: 24px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.96);
  color: #8a94a6;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 0 0 1px #e2e8f0;
}

.resume-preview-head {
  min-height: 212px;
  background: #eeeeff;
  padding: 44px var(--paper-pad, 56px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}

.preview-identity {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}

.preview-avatar {
  width: 72px;
  height: 92px;
  border: var(--avatar-border, 2px) solid #fff;
  border-radius: var(--avatar-radius, 8px);
  background: #fff;
  filter: var(--avatar-filter, none);
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(15,23,42,.08);
  flex: 0 0 auto;
  box-sizing: border-box;
}

.a4[style*="--avatar-radius:999px"] .preview-avatar {
  width: 82px;
  height: 82px;
  aspect-ratio: 1;
}

.preview-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: var(--avatar-x, 50%) var(--avatar-y, 50%);
  transform: scale(var(--avatar-scale, 1));
  transform-origin: var(--avatar-x, 50%) var(--avatar-y, 50%);
}

.big-name {
  font-size: 32px;
  font-weight: var(--title-weight, 900);
  font-variation-settings: "wght" var(--title-weight, 900);
  margin-bottom: 12px;
}

.role {
  font-size: 18px;
  font-weight: var(--strong-weight, 700);
  font-variation-settings: "wght" var(--strong-weight, 700);
}

.resume-preview-head p {
  margin: 18px 0 0;
  color: #5f6270;
  line-height: var(--resume-line, 1.65);
  font-size: var(--resume-font, 14px);
}

.info-grid {
  color: #727584;
  font-size: 13px;
  line-height: 2;
}

.resume-section {
  padding: var(--section-gap, 23px) var(--paper-pad, 56px) 0;
}

.resume-section h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  font-size: 19px;
  font-weight: var(--title-weight, 900);
  font-variation-settings: "wght" var(--title-weight, 900);
}

.resume-section h3::before {
  content: "";
  width: 4px;
  height: 24px;
  background: var(--purple);
  border-radius: 3px;
}

.resume-section p {
  color: #5f6270;
  line-height: var(--resume-line, 1.85);
  font-size: var(--resume-font, 14px);
}

.resume-section strong {
  display: inline-block;
  color: #111827;
  font-size: calc(var(--resume-font, 14px) + 1px);
  font-weight: var(--title-weight, 900);
  font-variation-settings: "wght" var(--title-weight, 900);
}

.resume-section > span {
  color: #111827;
  font-weight: var(--strong-weight, 700);
  font-variation-settings: "wght" var(--strong-weight, 700);
}

.a4.editor-template-business .resume-preview-head,
.a4.editor-template-executive .resume-preview-head {
  color: #fff;
  background: var(--template) !important;
}

.a4.editor-template-business .resume-preview-head p,
.a4.editor-template-business .info-grid,
.a4.editor-template-executive .resume-preview-head p,
.a4.editor-template-executive .info-grid {
  color: rgba(255, 255, 255, 0.82);
}

.a4.editor-template-campus .resume-preview-head,
.a4.editor-template-teacher .resume-preview-head {
  border-bottom: 6px solid var(--template);
}

.a4.editor-template-tech .resume-page,
.a4.editor-template-elegant .resume-page,
.a4.editor-template-game .resume-page {
  display: grid;
  grid-template-columns: 240px 1fr;
  align-content: start;
}

.a4.editor-template-tech .resume-preview-head,
.a4.editor-template-elegant .resume-preview-head,
.a4.editor-template-game .resume-preview-head {
  grid-column: 1;
  display: block;
  min-height: 100%;
}

.a4.editor-template-tech .resume-section,
.a4.editor-template-elegant .resume-section,
.a4.editor-template-game .resume-section {
  grid-column: 2;
}

.a4.editor-template-creative .resume-page {
  background: linear-gradient(90deg, var(--template-soft) 0 30%, #fff 30% 100%);
}

.a4.editor-template-creative .resume-preview-head {
  background: transparent !important;
}

.a4.editor-template-metrics .resume-preview-head::after,
.a4.editor-template-data .resume-preview-head::after {
  content: "6 项经历   ·   28% 提升   ·   95 ATS";
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  min-height: 38px;
  border-radius: 10px;
  background: #fff;
  color: var(--template);
  font-weight: var(--title-weight, 900);
  font-variation-settings: "wght" var(--title-weight, 900);
}

.a4.editor-template-aurora .resume-page {
  background:
    radial-gradient(circle at 18% 8%, var(--template-soft) 0, rgba(255,255,255,0) 30%),
    linear-gradient(180deg, #fbfdff 0%, #fff 44%);
}

.a4.editor-template-aurora .resume-preview-head {
  min-height: 188px;
  margin: 34px var(--paper-pad, 56px) 0;
  padding: 32px 34px;
  border: 1px solid rgba(47, 125, 246, 0.18);
  border-radius: 24px;
  background: linear-gradient(135deg, var(--template-soft), #fff) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.a4.editor-template-aurora .resume-section {
  margin: 18px var(--paper-pad, 56px) 0;
  padding: 17px 22px 0;
  border: 1px solid #e6edf3;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
}

.a4.editor-template-aurora .resume-section h3::before {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  box-shadow: 0 0 0 5px var(--template-soft);
}

.a4.editor-template-timeline .resume-preview-head {
  min-height: 178px;
  color: #fff;
  background: var(--template) !important;
  border-bottom: 0;
}

.a4.editor-template-timeline .resume-preview-head p,
.a4.editor-template-timeline .info-grid {
  color: rgba(255, 255, 255, 0.84);
}

.a4.editor-template-timeline .resume-section {
  position: relative;
  margin-left: var(--paper-pad, 56px);
  padding-left: 35px;
  border-left: 2px solid rgba(37, 99, 235, 0.18);
}

.a4.editor-template-timeline .resume-section h3::before {
  position: absolute;
  left: -9px;
  top: calc(var(--section-gap, 23px) + 4px);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--template);
}

.a4.editor-template-editorial .resume-page-content {
  display: grid;
  grid-template-columns: 224px 1fr;
  align-content: start;
  min-height: 100%;
}

.a4.editor-template-editorial .resume-preview-head {
  grid-column: 1;
  display: block;
  min-height: 100%;
  padding: 48px 28px;
  background: var(--template-soft) !important;
}

.a4.editor-template-editorial .preview-identity {
  display: block;
}

.a4.editor-template-editorial .preview-avatar {
  margin-bottom: 18px;
}

.a4.editor-template-editorial .info-grid {
  margin-top: 24px;
}

.a4.editor-template-editorial .resume-section {
  grid-column: 2;
  padding: 24px 44px 0;
}

.a4.editor-template-editorial .resume-section h3 {
  padding-bottom: 8px;
  border-bottom: 1px solid #e6edf3;
}

.a4.editor-template-editorial .resume-section h3::before {
  width: 4px;
  height: 18px;
  background: var(--template);
}

.a4.editor-template-modularPeach .resume-page {
  background: #fff;
}

.a4.editor-template-modularPeach .resume-page-content {
  padding: 0;
}

.modular-peach-content {
  min-height: 100%;
  display: grid;
  grid-template-columns: 31.5% 68.5%;
}

.modular-peach-sidebar {
  min-height: 100%;
  padding: 34px 20px 50px;
  background: var(--template-soft);
  color: #151515;
  box-sizing: border-box;
}

.modular-peach-hero {
  margin: 0 0 34px;
  text-align: center;
}

.modular-peach-avatar {
  display: block;
  width: 76px;
  height: 76px;
  margin: 0 auto 16px;
  border: var(--avatar-border, 2px) solid #fff;
  border-radius: 50%;
  object-fit: cover;
  object-position: var(--avatar-x, 50%) var(--avatar-y, 50%);
  background: #fff;
  filter: var(--avatar-filter, none);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px rgba(15, 23, 42, .08);
  box-sizing: border-box;
}

.modular-peach-name {
  margin: 0;
  color: #000;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
  white-space: nowrap;
}

.modular-peach-role {
  margin-top: 10px;
  color: #000;
  font-size: 14px;
  font-weight: 650;
}

.modular-side-section {
  margin-top: 24px;
}

.modular-peach-hero + .modular-side-section {
  margin-top: 0;
}

.modular-side-section h3 {
  margin: 0 0 12px;
  color: #000;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
}

.modular-basic-list p {
  margin: 0 0 4px;
  color: #3f3f46;
  font-size: calc(var(--resume-font, 14px) * .78);
  line-height: 1.35;
}

.modular-basic-list b {
  font-weight: 500;
}

.modular-basic-list span {
  overflow-wrap: anywhere;
}

.modular-side-item {
  margin: 0 0 12px;
}

.modular-side-item strong,
.modular-side-tags span {
  display: block;
  color: #000;
  font-size: calc(var(--resume-font, 14px) * .78);
  font-weight: 800;
  line-height: 1.4;
}

.modular-side-item p {
  margin: 5px 0 0;
  color: #111827;
  font-size: calc(var(--resume-font, 14px) * .74);
  line-height: 1.42;
}

.modular-side-tags {
  display: grid;
  gap: 5px;
}

.modular-peach-main {
  padding: 28px 32px 38px;
  min-width: 0;
}

.modular-main-section {
  margin: 0 0 calc(var(--section-gap, 18px) - 3px);
}

.modular-section-title {
  display: flex;
  align-items: flex-end;
  margin: 0 0 9px;
}

.modular-section-title span {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  padding: 6px 11px 7px;
  border-radius: 8px 8px 0 0;
  background: var(--template-soft);
  color: #000;
  white-space: nowrap;
}

.modular-section-title b {
  font-size: 15px;
  font-weight: var(--title-weight, 900);
  font-variation-settings: "wght" var(--title-weight, 900);
}

.modular-section-title em {
  color: #9ca3af;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
}

.modular-section-title i {
  display: block;
  flex: 1;
  height: 2px;
  margin-bottom: 0;
  background: var(--template-soft);
}

.modular-main-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  margin-bottom: 6px;
}

.modular-main-head strong {
  display: block;
  color: #000;
  font-size: calc(var(--resume-font, 14px) * .92);
  line-height: 1.28;
  font-weight: var(--title-weight, 900);
  font-variation-settings: "wght" var(--title-weight, 900);
}

.modular-main-head small {
  display: block;
  margin-top: 2px;
  color: #000;
  font-size: calc(var(--resume-font, 14px) * .78);
  font-weight: 500;
}

.modular-main-head time {
  color: #000;
  font-size: calc(var(--resume-font, 14px) * .76);
  font-weight: 650;
  white-space: nowrap;
}

.modular-main-item p {
  margin: 0 0 3px;
  color: #3f3f46;
  font-size: calc(var(--resume-font, 14px) * .82);
  line-height: min(var(--resume-line, 1.6), 1.46);
  text-align: justify;
}

.image2-page {
  color: #111827;
  font-size: calc(var(--resume-font, 13px) * .78);
  line-height: 1.36;
}

.image2-page .page-num {
  bottom: 14px;
  height: 20px;
  min-width: 38px;
  font-size: 10px;
}

.image2-header {
  box-sizing: border-box;
  min-width: 0;
}

.image2-avatar {
  width: 68px;
  height: 68px;
  border: var(--avatar-border, 2px) solid #fff;
  border-radius: 50%;
  display: block;
  object-fit: cover;
  object-position: var(--avatar-x, 50%) var(--avatar-y, 50%);
  transform: scale(var(--avatar-scale, 1));
  transform-origin: var(--avatar-x, 50%) var(--avatar-y, 50%);
  background: #fff;
  filter: var(--avatar-filter, none);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .78), 0 0 0 4px rgba(15, 23, 42, .08);
  box-sizing: border-box;
}

.image2-avatar-fallback {
  display: grid;
  place-items: center;
  transform: none;
  color: var(--template);
  font-size: 24px;
  font-weight: 900;
}

.image2-name {
  margin: 0;
  color: #111827;
  font-size: 23px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0;
}

.image2-role {
  margin-top: 4px;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
}

.image2-header p {
  margin: 5px 0 0;
  color: #667085;
  font-size: calc(var(--resume-font, 13px) * .76);
  line-height: 1.34;
}

.image2-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 6px;
  color: #667085;
  font-size: calc(var(--resume-font, 13px) * .66);
  line-height: 1.26;
}

.image2-contact b {
  margin-right: 4px;
  color: #8a94a6;
  font-weight: 700;
}

.image2-section {
  position: relative;
  margin: 0 0 7px;
  min-width: 0;
}

.image2-section-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 4px;
  color: var(--template);
}

.image2-section-title b {
  font-size: 13px;
  line-height: 1.2;
  font-weight: 900;
}

.image2-section-title em {
  color: #a3adba;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
}

.image2-item-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  margin-bottom: 3px;
}

.image2-item-head strong {
  display: block;
  color: #111827;
  font-size: calc(var(--resume-font, 13px) * .84);
  line-height: 1.24;
  font-weight: 900;
}

.image2-item-head small {
  display: block;
  margin-top: 2px;
  color: #667085;
  font-size: calc(var(--resume-font, 13px) * .72);
  font-weight: 600;
}

.image2-item-head time {
  color: #4b5563;
  font-size: calc(var(--resume-font, 13px) * .72);
  font-weight: 800;
  white-space: nowrap;
}

.image2-item-body p {
  margin: 0 0 3px;
  color: #4b5563;
  font-size: calc(var(--resume-font, 13px) * .74);
  line-height: 1.34;
  text-align: justify;
}

.image2-aurora-content,
.image2-timeline-content {
  padding: 22px 32px 4px;
}

.image2-aurora-head {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0 0 10px;
  padding: 14px 16px;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--template-soft), #fff);
}

.image2-aurora-section {
  padding-left: 13px;
  border-left: 3px solid rgba(47, 125, 246, .55);
}

.image2-aurora-section + .image2-aurora-section {
  margin-top: 7px;
}

.image2-timeline-head {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 174px;
  gap: 14px;
  align-items: end;
  margin: -22px -32px 11px;
  padding: 22px 32px 16px;
  background: linear-gradient(90deg, var(--template-soft), #f8fbff);
  border-bottom: 1px solid rgba(37, 99, 235, .14);
}

.image2-timeline-head .image2-name {
  color: var(--template);
}

.image2-timeline-head .image2-avatar {
  align-self: center;
}

.image2-contact-stack {
  display: grid;
  gap: 4px;
  justify-items: end;
  margin: 0;
}

.image2-timeline-section {
  margin-left: 9px;
  padding-left: 16px;
  border-left: 2px solid rgba(37, 99, 235, .18);
}

.image2-timeline-section::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--template);
}

.a4.editor-template-editorial .image2-editorial-content {
  min-height: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 188px minmax(0, 1fr);
  align-content: stretch;
  align-items: stretch;
}

.image2-editorial-sidebar {
  min-height: 920px;
  height: 100%;
  padding: 28px 20px 34px;
  box-sizing: border-box;
  background: linear-gradient(180deg, #1f2329, #111827);
  color: #e5e7eb;
}

.image2-editorial-hero {
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.image2-editorial-avatar {
  display: block;
  width: 58px;
  height: 58px;
  margin: 0 0 10px;
  border: var(--avatar-border, 2px) solid rgba(255, 255, 255, .85);
  border-radius: 50%;
  object-fit: cover;
  object-position: var(--avatar-x, 50%) var(--avatar-y, 50%);
  background: #fff;
  filter: var(--avatar-filter, none);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .78), 0 0 0 4px rgba(139, 92, 246, .38);
  box-sizing: border-box;
}

.image2-editorial-name {
  color: #fff;
  font-size: 25px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0;
}

.image2-editorial-name.small {
  font-size: 18px;
}

.image2-editorial-role {
  margin-top: 8px;
  color: #c4b5fd;
  font-size: 12px;
  font-weight: 800;
}

.image2-editorial-side-block {
  margin: 0 0 14px;
}

.image2-editorial-side-block h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.image2-editorial-side-block p,
.image2-editorial-side-item p {
  margin: 0 0 5px;
  color: rgba(226, 232, 240, .82);
  font-size: calc(var(--resume-font, 13px) * .72);
  line-height: 1.45;
}

.image2-editorial-side-block b,
.image2-editorial-side-item strong {
  display: block;
  color: #fff;
  font-size: calc(var(--resume-font, 13px) * .74);
  font-weight: 800;
}

.image2-editorial-tags {
  display: grid;
  gap: 6px;
}

.image2-editorial-tags span {
  display: block;
  padding-bottom: 4px;
  color: rgba(255, 255, 255, .92);
  font-size: calc(var(--resume-font, 13px) * .74);
  font-weight: 800;
  border-bottom: 2px solid rgba(139, 92, 246, .55);
}

.image2-editorial-main {
  padding: 34px 34px 52px;
  min-width: 0;
}

.image2-editorial-section {
  padding-bottom: 12px;
  border-bottom: 1px solid #e6edf3;
}

.image2-editorial-section .image2-section-title {
  color: #6d5dfc;
}

/* Obsidian sidebar template v117: a calm, high-contrast business layout. */
.image2-obsidian-content {
  min-height: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 204px minmax(0, 1fr);
  align-items: stretch;
  background: #fbfaf7;
}

.image2-obsidian-sidebar {
  min-height: 920px;
  padding: 32px 21px 34px;
  background: linear-gradient(180deg, #132238, #0b1728);
  color: #f8f2e7;
}

.image2-obsidian-sidebar .image2-obsidian-hero {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom-color: rgba(183, 138, 69, .62);
}

.image2-obsidian-sidebar .image2-editorial-avatar {
  width: 66px;
  height: 66px;
  border-color: #f7f0e4;
  box-shadow: 0 0 0 3px rgba(183, 138, 69, .82);
}

.image2-obsidian-sidebar .image2-editorial-name { font-size: 26px; letter-spacing: .04em; }
.image2-obsidian-sidebar .image2-editorial-role { color: #d9b475; letter-spacing: .08em; }
.image2-obsidian-sidebar .image2-editorial-side-block { margin-bottom: 17px; }
.image2-obsidian-sidebar .image2-editorial-side-block h3 { color: #d9b475; letter-spacing: .08em; }
.image2-obsidian-sidebar .image2-editorial-side-block p,
.image2-obsidian-sidebar .image2-editorial-side-item p { color: rgba(248, 242, 231, .82); }
.image2-obsidian-sidebar .image2-editorial-side-block b,
.image2-obsidian-sidebar .image2-editorial-side-item strong { color: #fff; }
.image2-obsidian-sidebar .image2-editorial-tags span { border-bottom-color: rgba(183, 138, 69, .75); }

.image2-obsidian-main { padding: 34px 34px 50px; background: #fbfaf7; }
.image2-obsidian-kicker { margin: 0 0 20px; color: #9a7138; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.image2-obsidian-section { padding: 0 0 13px; border-bottom: 1px solid #ddd8ce; }
.image2-obsidian-section + .image2-obsidian-section { margin-top: 13px; }
.image2-obsidian-section .image2-section-title { display: flex; align-items: center; gap: 10px; color: #17263d; }
.image2-obsidian-section .image2-section-title::after { content: ""; height: 1px; flex: 1; background: #c9a567; }
.image2-obsidian-section .image2-section-title em { color: #a57a40; }
.image2-obsidian-section .image2-item-head strong { color: #17263d; }
.image2-obsidian-section .image2-item-head time { color: #92713f; }
.image2-obsidian-section .image2-item-body p { color: #4f5661; }

.obsidian .obsidian-thumb-paper { display: grid; grid-template-columns: 31% 1fr; min-height: 100%; color: #18263a; background: #fbfaf7; }
.obsidian .obsidian-thumb-paper aside { display: flex; flex-direction: column; padding: 18px 13px; color: #f9f3e8; background: #132238; }
.obsidian .obsidian-thumb-avatar { width: 45px; height: 45px; margin-bottom: 9px; border: 2px solid #c9a567; border-radius: 50%; background: linear-gradient(135deg, #efe5d4, #6f7f90); }
.obsidian .obsidian-thumb-paper aside h3 { margin: 0; font-size: 16px; letter-spacing: .06em; }
.obsidian .obsidian-thumb-paper aside p { margin: 4px 0 9px; color: #d9b475; font-size: 8px; font-weight: 700; }
.obsidian .obsidian-thumb-paper aside i { height: 1px; margin: 0 0 12px; background: #c9a567; }
.obsidian .obsidian-thumb-paper aside b { margin: 0 0 6px; color: #d9b475; font-size: 8px; }
.obsidian .obsidian-thumb-paper aside span,
.obsidian .obsidian-thumb-paper aside em { margin: 0 0 5px; color: rgba(255,255,255,.84); font-size: 7px; font-style: normal; line-height: 1.5; }
.obsidian .obsidian-thumb-paper main { padding: 16px 14px; }
.obsidian .obsidian-thumb-paper section { margin-bottom: 11px; padding-bottom: 9px; border-bottom: 1px solid #dfd8cd; }
.obsidian .obsidian-thumb-paper h4 { display: flex; justify-content: space-between; margin: 0 0 7px; color: #18263a; font-size: 10px; }
.obsidian .obsidian-thumb-paper h4 small { color: #a77d43; font-size: 7px; }
.obsidian .obsidian-thumb-paper strong { display: block; color: #18263a; font-size: 8px; }
.obsidian .obsidian-thumb-paper main span { display: block; margin-top: 2px; color: #9a7138; font-size: 7px; }
.obsidian .obsidian-thumb-paper main p { margin: 5px 0 0; color: #68707b; font-size: 7px; line-height: 1.55; }

.tool-rail {
  position: fixed;
  right: 638px;
  top: 88px;
  z-index: 12;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rail-btn {
  width: 70px;
  min-height: 64px;
  padding: 8px 6px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(226, 232, 240, 0.95);
  color: #505464;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
  display: grid;
  place-items: center;
  gap: 4px;
}

.rail-btn span {
  font-size: 17px;
  line-height: 1;
}

.rail-btn b {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.rail-btn:hover {
  border-color: #bcd6ff;
  color: var(--purple-dark);
  background: #fbfdff;
  box-shadow: 0 14px 30px rgba(39, 43, 70, 0.08);
}

.rail-btn.active {
  background: linear-gradient(180deg, #eaf2ff 0%, #f7faff 100%);
  color: var(--purple-dark);
  border-color: #bcd6ff;
  box-shadow: 0 16px 34px rgba(31, 99, 214, 0.13);
}

.side-panel {
  background: rgba(255, 255, 255, 0.975);
  border-left: 1px solid var(--panel-border);
  padding: 22px 32px 48px;
  overflow: auto;
  overscroll-behavior: contain;
  box-shadow: -18px 0 46px rgba(15, 23, 42, 0.045);
  contain: layout style paint;
}

.select-row {
  display: grid;
  grid-template-columns: 76px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: #111827;
  font-weight: 800;
}

.select-row select {
  height: 40px;
  border: 1px solid #dce2ec;
  border-radius: 10px;
  background: #fff;
  padding: 0 12px;
  color: #4b5563;
  font-weight: 800;
}

.side-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e8e8ef;
  padding-bottom: 18px;
  position: sticky;
  top: -22px;
  z-index: 2;
  background: rgba(255, 255, 255, 0.975);
  backdrop-filter: blur(12px);
}

.side-heading h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.25;
}

.ai-strip {
  min-height: 44px;
  border: 1px solid #bcd6ff;
  background: linear-gradient(90deg, #f6faff, #ffffff);
  color: var(--purple-dark);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 8px 5px 18px;
  margin: 18px 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}

.ai-strip span {
  min-width: 0;
  font-weight: 700;
}

.pill {
  height: 34px;
  border-radius: 16px;
  padding: 0 14px;
  background: var(--purple);
  color: #fff;
  white-space: nowrap;
}

.editor-panel-card,
.editor-module-card {
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
  contain: layout paint style;
}

.editor-panel-card {
  padding: 16px;
}

.module-edit-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.editor-module-card {
  padding: 14px;
  content-visibility: auto;
  contain-intrinsic-size: 320px;
}

.editor-panel-card:hover,
.editor-module-card:hover {
  border-color: rgba(47, 125, 246, 0.18);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}

.form-grid label {
  position: relative;
  color: #666a76;
  font-size: 14px;
}

.basic-field {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 28px minmax(160px, 1fr) minmax(180px, 1fr) 96px;
  align-items: center;
  gap: 8px 12px;
}

.basic-field .switch {
  position: relative;
  width: 36px;
  height: 20px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #d8dae4;
  transition: background-color 0.16s var(--ease), box-shadow 0.16s var(--ease);
  transform: none;
}

.basic-field .switch i {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  left: 2px;
  top: 2px;
  transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}

.basic-field .switch:active,
.module-switch:active,
.add-basic-field:active,
.add-item:active,
.add-module-btn:active {
  transform: none;
}

.basic-field .switch.on {
  background: var(--purple);
}

.basic-field .switch.on i {
  transform: translateX(16px);
}

.locked-field {
  font-size: 12px;
  font-style: normal;
  color: #8a94a6;
}

.basic-drag-handle {
  width: 26px;
  height: 40px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #9ca3af;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -4px;
  cursor: grab;
}

.basic-drag-handle:active {
  cursor: grabbing;
  background: #eef3fa;
  color: var(--purple-dark);
}

.basic-field.is-locked .basic-drag-handle {
  opacity: 0;
  pointer-events: none;
}

.basic-title-cell {
  min-width: 0;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  background: #f7f8fa;
  padding: 0 12px;
  color: #111827;
}

.basic-title-cell > span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.basic-field-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  height: 40px;
}

.basic-delete {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid #fee2e2;
  border-radius: 9px;
  background: #fff7f7;
  color: #ef4444;
  transition:
    background-color 0.16s var(--ease),
    border-color 0.16s var(--ease),
    transform 0.16s var(--ease);
}

.basic-delete svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.basic-delete:hover {
  background: #fee2e2;
  border-color: #fecaca;
}

.basic-label-input {
  min-height: 40px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #111827;
  font-size: 15px;
  font-weight: 700;
}

.basic-field.is-hidden {
  opacity: 0.58;
}

.basic-field.is-hidden .basic-title-cell,
.basic-field.is-hidden .basic-value-input {
  color: #9ca3af;
}

.form-grid input,
.form-grid textarea {
  width: 100%;
  min-height: 40px;
  margin-top: 6px;
  border: 0;
  border-radius: 6px;
  background: #f7f8fa;
  padding: 0 12px;
  outline: none;
}

.form-grid .basic-value-input {
  margin-top: 0;
  min-height: 40px;
  border-radius: 8px;
  font-size: 15px;
}

.form-grid input:hover,
.form-grid textarea:hover {
  background: #f3f3f6;
}

.form-grid input:focus,
.form-grid textarea:focus,
.module-real-form input:focus,
.module-real-form textarea:focus {
  background: #fff;
  box-shadow: 0 0 0 1px #bcd6ff, var(--focus-ring);
}

.wide {
  grid-column: span 2;
}

.upload-field input {
  border: 1px dashed #b8ceef;
  background: #f8fbff;
  color: #111827;
  font-weight: 700;
}

.upload-avatar-btn {
  width: 100%;
  height: 42px;
  margin-top: 6px;
  border: 1px dashed #b8ceef;
  border-radius: 8px;
  background: #f8fbff;
  color: #111827;
  font-weight: 800;
}

.avatar-editor {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 14px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(47, 125, 246, 0.12);
  border-radius: 14px;
  background: linear-gradient(180deg, #fbfdff 0%, #fff 100%);
}

.avatar-crop-preview {
  width: 88px;
  height: 108px;
  display: grid;
  place-items: center;
  border: var(--avatar-border, 2px) solid #fff;
  border-radius: var(--avatar-radius, 8px);
  overflow: hidden;
  cursor: grab;
  background: #f1f5f9;
  filter: var(--avatar-filter, none);
  box-shadow: inset 0 0 0 1px #dbe2ed, 0 8px 18px rgba(15, 23, 42, 0.08);
  touch-action: none;
  box-sizing: border-box;
}

.avatar-crop-preview[style*="--avatar-radius:999px"] {
  width: 88px;
  height: 88px;
  aspect-ratio: 1;
  align-self: center;
}

.avatar-crop-preview.is-dragging {
  cursor: grabbing;
}

.avatar-crop-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: var(--avatar-x, 50%) var(--avatar-y, 50%);
  transform: scale(var(--avatar-scale, 1));
  transform-origin: var(--avatar-x, 50%) var(--avatar-y, 50%);
  pointer-events: none;
}

.avatar-crop-preview span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.avatar-editor-fields {
  min-width: 0;
  display: grid;
  gap: 9px;
}

.avatar-style-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.avatar-style-row button {
  height: 30px;
  padding: 0 11px;
  border: 1px solid #e3e8f0;
  border-radius: 999px;
  background: #fff;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.avatar-style-row button.active {
  border-color: #bcd6ff;
  background: #eaf2ff;
  color: var(--purple-dark);
}

.avatar-shape-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.avatar-shape-row button {
  height: 30px;
  border: 1px solid #dbe2ed;
  border-radius: 999px;
  background: #fff;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.avatar-shape-row button.active {
  border-color: #bcd6ff;
  background: var(--purple-light);
  color: var(--purple-dark);
  box-shadow: 0 0 0 3px rgba(47, 125, 246, 0.08);
}

.avatar-slider {
  display: grid;
  grid-template-columns: 34px 1fr 32px;
  gap: 8px;
  align-items: center;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.avatar-slider input {
  min-height: auto !important;
  height: 4px;
  padding: 0 !important;
  margin: 0 !important;
  accent-color: var(--purple);
}

.avatar-slider b {
  color: #111827;
  text-align: right;
  font-size: 12px;
}

.add-basic-field {
  width: 100%;
  height: 36px;
  margin-top: 12px;
  border: 1px dashed #b8ceef;
  border-radius: 8px;
  color: var(--purple-dark);
  background: #f8fbff;
  font-weight: 700;
  transition: background-color 0.16s var(--ease), border-color 0.16s var(--ease), color 0.16s var(--ease), box-shadow 0.16s var(--ease);
  transform: none;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.section-head h3 {
  margin: 0;
  font-size: 18px;
  min-width: 0;
}

.section-head.compact span {
  color: #8a94a6;
  font-size: 13px;
}

.module-head-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.section-head .ai-link {
  border: 0;
  background: transparent;
  color: var(--purple-dark);
  font-weight: 800;
}

.module-menu-trigger {
  width: 34px;
  height: 34px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.module-menu-trigger:hover {
  border-color: #b8ceef;
  color: var(--purple-dark);
}

.module-more-menu {
  position: absolute;
  right: 0;
  top: 42px;
  z-index: 40;
  width: 176px;
  padding: 6px 0;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14);
  backdrop-filter: blur(12px);
}

.module-more-menu button {
  width: 100%;
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-bottom: 1px solid #f1f5f9;
  background: transparent;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  font-size: 15px;
  font-weight: 700;
}

.module-more-menu button:last-child {
  border-bottom: 0;
}

.module-more-menu button:hover {
  background: #f8fbff;
  color: var(--purple-dark);
}

.module-more-menu button span {
  width: 20px;
  color: inherit;
  text-align: center;
}

.module-more-menu button.danger {
  color: #fb7185;
}

.editor-module-card.module-cols-2 .module-real-form,
.editor-module-card.module-cols-2 .module-summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  border: 0;
  background: transparent;
}

.editor-module-card.module-cols-2 .module-summary-row {
  border: 1px solid #eef1f5;
  border-radius: 10px;
}

.module-switch {
  height: 30px;
  min-width: 92px;
  padding: 3px 5px 3px 12px;
  border: 1px solid #d9e3ea;
  border-radius: 999px;
  background: #f8fafc;
  color: #8a94a6;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
}

.module-switch i {
  position: relative;
  width: 34px;
  height: 20px;
  border-radius: 999px;
  background: #cbd5e1;
  transition:
    background-color 0.18s var(--ease),
    box-shadow 0.18s var(--ease);
}

.module-switch i::after {
  content: "";
  position: absolute;
  left: 2px;
  top: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.2);
  transition: transform 0.18s var(--ease);
}

.module-switch.on {
  border-color: #b8ceef;
  background: #f6faff;
  color: var(--purple-dark);
}

.module-switch.on i {
  background: var(--purple);
  box-shadow: 0 0 0 3px rgba(47, 125, 246, 0.1);
}

.module-switch.on i::after {
  transform: translateX(14px);
}

.editor-module-card:not(.is-enabled) {
  opacity: 0.72;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.editor-module-card:not(.is-enabled) .module-real-form {
  opacity: 0.58;
}

.module-real-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #edf2f6;
  border-radius: 12px;
  background: #fbfcfd;
  transition:
    border-color 0.18s var(--ease),
    box-shadow 0.18s var(--ease),
    transform 0.18s var(--ease);
}

.module-summary-list {
  border: 1px solid #eef1f5;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.module-summary-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  padding: 12px 14px;
  border-bottom: 1px solid #eef1f5;
  background: #fff;
  transition:
    transform 0.14s var(--ease),
    background-color 0.14s var(--ease),
    box-shadow 0.14s var(--ease),
    opacity 0.14s var(--ease);
}

.module-summary-row:last-child {
  border-bottom: 0;
}

.module-summary-row:hover {
  background: #fbfdff;
}

.summary-drag-handle {
  width: 32px;
  height: 42px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #111827;
  font-size: 18px;
  letter-spacing: -4px;
  cursor: grab;
}

.summary-drag-handle:active {
  cursor: grabbing;
  background: #eef3fa;
  color: var(--purple-dark);
}

[data-draggable-item].is-dragging {
  position: relative;
  z-index: 5;
  opacity: 0.9;
  transform: translateY(-2px) scale(1.006);
  border-color: #bcd6ff;
  background: #f8fbff;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.14);
}

.summary-main {
  min-width: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.summary-main b,
.summary-main small {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.summary-main b {
  color: #111827;
  font-size: 16px;
  font-weight: 800;
}

.summary-main small {
  margin-top: 4px;
  color: #8a8f9c;
  font-size: 13px;
}

.module-summary-row > span {
  color: #667085;
  font-size: 12px;
  white-space: nowrap;
}

.summary-ai-actions {
  display: flex;
  gap: 6px;
  white-space: nowrap;
}

.summary-ai-actions button {
  height: 28px;
  padding: 0 10px;
  border: 1px solid #e1e9f2;
  border-radius: 999px;
  background: #f8fbff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

.summary-ai-actions button:hover {
  border-color: #acc4e8;
  background: #f0f6ff;
  color: var(--purple-dark);
}

.summary-delete {
  border: 0;
  background: transparent;
  color: #ef4444;
  font-size: 12px;
  font-weight: 800;
}

.module-real-form:hover {
  border-color: rgba(47, 125, 246, 0.22);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.module-real-form[draggable="true"] {
  cursor: grab;
}

.module-real-form[draggable="true"]:active {
  cursor: grabbing;
}

.drag-handle {
  font-weight: 800;
}

.module-item-head {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #667085;
  font-size: 12px;
}

.module-item-head button {
  color: #ef4444;
  font-size: 12px;
  font-weight: 700;
}

.module-real-form input,
.module-real-form textarea {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  background: #f7f8fa;
  padding: 9px 12px;
  outline: none;
}

.module-real-form .wide {
  grid-column: 1 / -1;
}

.module-real-form textarea {
  min-height: 78px;
  resize: vertical;
}

.add-item {
  width: 100%;
  height: 38px;
  color: var(--purple-dark);
  border: 1px dashed #bcd6ff;
  background: #f6faff;
  border-radius: 8px;
  transition:
    background-color 0.18s var(--ease),
    border-color 0.18s var(--ease),
    transform 0.18s var(--ease);
}

.add-item:hover,
.add-module-btn:hover,
.module-choice button:hover {
  border-color: var(--purple);
  background: #f6faff;
  transform: translateY(-1px);
}

.add-module-btn {
  width: 100%;
  height: 42px;
  margin-top: 16px;
  color: var(--purple-dark);
  border: 1px solid #bcd6ff;
  background: #fff;
  border-radius: 10px;
  font-weight: 800;
}

.panel-tabs {
  height: 42px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #f2f4f7;
  border-radius: 14px;
  padding: 3px;
  margin: 18px 0;
}

.panel-tabs button {
  color: #464957;
}

.panel-tabs .active {
  color: var(--purple-dark);
  background: #fff;
  box-shadow: 0 8px 18px rgba(48, 52, 80, 0.08);
}

.panel-tabs button {
  border-radius: 10px;
  font-weight: 700;
}

.template-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 14px;
  contain: layout paint;
}

.current-template-card {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  align-items: center;
  margin: 18px 0;
  padding: 12px;
  border: 1px solid #b8ceef;
  border-radius: 16px;
  background: linear-gradient(120deg, #f4f8ff 0%, #ffffff 70%);
  box-shadow: 0 14px 30px rgba(31, 99, 214, 0.065);
  contain: layout paint;
}

.current-template-card > div {
  height: auto;
  aspect-ratio: 210 / 297;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  position: relative;
}

.current-template-card .real-template {
  height: 100%;
  width: auto;
}

.current-template-card b,
.current-template-card span {
  display: block;
}

.current-template-card b {
  color: #111827;
  font-size: 18px;
}

.current-template-card span {
  margin-top: 8px;
  color: #667085;
  line-height: 1.6;
}

.editor-template-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.template-card {
  border: 1px solid transparent;
  border-radius: 14px;
  overflow: hidden;
  padding: 6px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  contain: layout paint;
  will-change: transform;
  transition:
    border-color 0.18s var(--ease),
    box-shadow 0.18s var(--ease),
    transform 0.18s var(--ease);
}

.template-card.active {
  border-color: var(--purple);
  box-shadow: 0 0 0 2px rgba(47, 125, 246, 0.1), 0 14px 30px rgba(31, 99, 214, 0.08);
  background: linear-gradient(180deg, #f6faff 0%, #fff 100%);
}

.template-card:hover {
  border-color: #bcd6ff;
  box-shadow: 0 14px 30px rgba(43, 47, 76, 0.08);
  transform: translateY(-4px) scale(1.01);
}

.template-preview {
  width: 100%;
  aspect-ratio: 210 / 297;
  height: auto;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  border-radius: 10px;
  position: relative;
}

.current-template-card > .editor-template-preview,
.template-preview-image {
  padding: 0;
  background: #fff;
}

.current-template-card > .editor-template-preview {
  padding: 0;
}

.template-thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.template-png-thumb {
  object-fit: cover;
  object-position: top center;
}

.template-thumb-img.template-html-thumb {
  display: grid;
  place-items: center;
}

.mini-live-template,
.template-live-preview {
  width: 650px !important;
  margin: 0 !important;
  transform-origin: top center !important;
  pointer-events: none;
}

.mini-live-template .resume-page,
.template-live-preview .resume-page {
  min-height: 920px;
  box-shadow: 0 0 0 1px #e5e7eb !important;
}

.mini-live-template .resume-page:not(:first-child),
.template-live-preview .resume-page:not(:first-child) {
  display: none;
}

.mini-live-template .page-num,
.template-live-preview .page-num {
  display: none;
}

.current-template-card .template-live-preview,
.current-template-card .mini-live-template {
  transform: translateX(-50%) scale(.16) !important;
  position: absolute;
  left: 50%;
  top: 6px;
}

.template-preview .template-live-preview,
.template-preview .mini-live-template {
  transform: translateX(-50%) scale(.22) !important;
  position: absolute;
  left: 50%;
  top: 10px;
}

.template-preview .real-template {
  width: auto;
  height: 100%;
}

.template-preview .thumb-paper {
  transform: scale(0.74);
  width: 132%;
  height: 132%;
}

.template-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 16px;
  padding: 8px 2px 2px;
  color: #111827;
}

.template-name span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
}

.template-name em {
  flex: 0 0 auto;
  padding: 2px 6px;
  border-radius: 999px;
  background: #fff7e6;
  color: #d97706;
  font-size: 12px;
  font-style: normal;
}

.settings {
  display: grid;
  gap: 18px;
  padding: 16px;
  border: 1px solid #edf0f4;
  border-radius: 14px;
  background: #fff;
}

.font-choice-row {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  align-items: start;
}

.font-choice-row > span {
  padding-top: 8px;
  color: #111827;
  font-weight: 700;
}

.font-choice-row > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.font-choice-row button {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #dde5ea;
  border-radius: 999px;
  color: #4b5563;
  background: #fff;
  font-weight: 700;
}

.font-choice-row button:hover {
  border-color: #bcd6ff;
  background: #f6faff;
  color: var(--purple-dark);
}

.font-choice-row button.active {
  border-color: var(--purple);
  color: var(--purple-dark);
  background: var(--purple-light);
  box-shadow: 0 0 0 3px rgba(47, 125, 246, 0.08);
}

.slider-row {
  display: grid;
  grid-template-columns: 80px 1fr 36px;
  gap: 12px;
  align-items: center;
}

.slider-row input {
  accent-color: var(--purple);
  cursor: grab;
}

.slider-row input:active {
  cursor: grabbing;
}

.color-row {
  display: flex;
  gap: 10px;
  align-items: center;
}

.color-row button {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #ddddea;
}

.module-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.module-helper {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f6faff;
  color: #667085;
  line-height: 1.6;
}

.module-row {
  min-height: 48px;
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid #eeeef4;
  border-radius: 10px;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.035);
  transition:
    background-color 0.16s var(--ease),
    border-color 0.16s var(--ease),
    box-shadow 0.16s var(--ease),
    opacity 0.16s var(--ease),
    transform 0.16s var(--ease);
}

.module-drag-handle {
  width: 28px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #8b93a5;
  background: transparent;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -4px;
  cursor: grab;
}

.module-drag-handle:active {
  cursor: grabbing;
  background: #eef3fa;
  color: var(--purple-dark);
}

.module-row:hover {
  background: #f6faff;
  border-color: #bcd6ff;
}

.module-row.enabled {
  border-color: #d7e3f5;
}

.module-row > span {
  min-width: 0;
  overflow: hidden;
}

.module-row > span > small {
  display: block;
  margin-top: 2px;
  color: #8a94a6;
  font-size: 11px;
  font-weight: 800;
}

.module-row.is-hidden {
  color: #9aa3b2;
  background: #fbfcfd;
  border-color: #edf0f5;
}

.module-row.is-hidden .module-drag-handle {
  opacity: 0.28;
  cursor: not-allowed;
}

.module-row.is-dragging {
  position: relative;
  z-index: 5;
  opacity: 0.92;
  transform: translateY(-2px) scale(1.006);
  border-color: #bcd6ff;
  background: #f6faff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.12);
}

.module-row.is-drop-target {
  border-color: var(--purple);
  background: #f0f6ff;
  box-shadow: 0 0 0 3px rgba(47, 125, 246, 0.08), 0 14px 28px rgba(15, 23, 42, 0.06);
}

.module-list.is-live-dragging .module-row {
  transition:
    transform 0.12s var(--ease),
    box-shadow 0.12s var(--ease),
    background-color 0.12s var(--ease);
}

.module-row-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.module-row-actions button {
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.module-row-actions button:hover {
  background: #eaf2ff;
  color: var(--purple-dark);
}

.module-row-actions button:disabled {
  opacity: 0.35;
}

.module-row em {
  width: 38px;
  height: 22px;
  border-radius: 12px;
  background: #d8dae4;
  position: relative;
}

.module-row em::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  left: 2px;
  top: 2px;
  transition: transform 0.16s ease;
}

.module-row em.on {
  background: var(--purple);
}

.module-row em.on::after {
  transform: translateX(16px);
}

.custom-module-row {
  display: grid;
  grid-template-columns: 1fr 96px;
  gap: 10px;
  margin-top: 8px;
}

.score-card {
  margin: 18px 0;
  padding: 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, #eaf2ff, #fff);
  border: 1px solid #b8ceef;
  box-shadow: 0 14px 30px rgba(31, 99, 214, 0.08);
}

.score-card b,
.score-card span {
  display: block;
  color: #737684;
}

.score-card strong {
  display: block;
  margin: 8px 0;
  color: var(--purple);
  font-size: 44px;
}

.analysis-item {
  width: 100%;
  min-height: 50px;
  margin-bottom: 10px;
  display: grid;
  grid-template-columns: 28px 1fr 58px;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid #ededf3;
  background: #fff;
  border-radius: 12px;
  text-align: left;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.035);
}

.analysis-item:hover {
  border-color: #bcd6ff;
  background: #f6faff;
  transform: translateY(-1px);
}

.analysis-item b {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--purple-light);
  color: var(--purple-dark);
}

.analysis-item em {
  color: var(--purple);
  font-style: normal;
}

.ai-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  margin: 18px 0;
  background: #f8fbff;
  border: 1px solid #b8ceef;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(31, 99, 214, 0.06);
}

.ai-context-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.ai-context-strip span {
  min-width: 0;
  padding: 9px 10px;
  border-radius: 10px;
  color: #667085;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(153, 184, 230, 0.72);
  text-align: center;
  font-size: 13px;
}

.ai-context-strip b {
  display: block;
  color: var(--purple-dark);
  font-size: 18px;
  line-height: 1;
}

.ai-suggestion-message {
  margin: -6px 0 12px;
  color: #667085;
  font-size: 13px;
}

.ai-empty-suggestions,
.ai-suggestion-list {
  display: grid;
  gap: 12px;
}

.ai-empty-suggestions .add-item {
  min-height: 48px;
  height: auto;
  display: grid;
  gap: 2px;
  padding: 8px 12px;
  font-weight: 800;
  text-align: center;
}

.ai-empty-suggestions .add-item span {
  color: #7b8798;
  font-size: 12px;
  font-weight: 500;
}

.ai-suggestion-card {
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
}

.ai-suggestion-card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.ai-suggestion-card header span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #ecf3fd;
  color: var(--purple-dark);
  font-size: 12px;
  font-weight: 800;
}

.ai-suggestion-card header b {
  min-width: 0;
  color: #111827;
  font-size: 17px;
}

.ai-suggestion-grid {
  display: grid;
  gap: 10px;
}

.ai-suggestion-grid section {
  padding: 11px 12px;
  border-radius: 12px;
  background: #f8fafc;
}

.ai-suggestion-grid section:last-child {
  background: #f4f8ff;
  border: 1px solid rgba(153, 184, 230, 0.7);
}

.ai-suggestion-grid em {
  display: block;
  margin-bottom: 5px;
  color: #667085;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.ai-suggestion-grid p {
  margin: 0;
  color: #1f2329;
  font-size: 14px;
  line-height: 1.75;
  white-space: pre-wrap;
}

.ai-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.ai-chip-row i {
  padding: 3px 8px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 12px;
  font-style: normal;
}

.ai-suggestion-card footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

.ai-suggestion-card small {
  color: #7b8798;
  line-height: 1.5;
}

.ai-suggestion-card .small-primary {
  height: 34px;
  padding: 0 14px;
  white-space: nowrap;
  font-size: 14px;
}

.textarea {
  min-height: 108px !important;
  padding: 10px 12px !important;
  resize: vertical;
}

.vip-modal {
  width: 650px;
}

.vip-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 8px 0 22px;
}

.vip-card {
  height: 138px;
  padding: 16px;
  border-radius: 9px;
  border: 1px solid #ead9b6;
  background: #fffaf0;
  text-align: left;
  transition:
    border-color 0.18s var(--ease),
    background-color 0.18s var(--ease),
    box-shadow 0.18s var(--ease),
    transform 0.18s var(--ease);
}

.vip-card.active {
  border: 2px solid #d8a85b;
  background: linear-gradient(180deg, #fff5dc, #fff);
  box-shadow: 0 10px 24px rgba(166, 111, 33, 0.12);
}

.vip-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(166, 111, 33, 0.12);
}

.vip-card b,
.vip-card span,
.vip-card em {
  display: block;
}

.vip-card span {
  margin: 14px 0 8px;
  font-size: 28px;
  font-weight: 800;
  color: #9b6a24;
}

.vip-card em {
  color: #8a6b48;
  font-size: 13px;
  font-style: normal;
}

.account-modal {
  width: 380px;
}

.account-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  background: #f7f7fb;
  border-radius: 6px;
  margin-bottom: 14px;
}

.avatar.small {
  width: 42px;
  height: 42px;
  border: 0;
}

.account-row b,
.account-row span {
  display: block;
}

.account-row span {
  color: #8c8f9c;
  margin-top: 3px;
}

.account-action {
  width: 100%;
  height: 40px;
  margin-top: 10px;
  border: 1px solid #e4e4ec;
  border-radius: 4px;
  background: #fff;
}

.generate-modal {
  width: 470px;
}

.export-modal {
  width: 560px;
  padding: 30px 34px 32px;
}

.export-modal .close {
  top: 20px;
  right: 20px;
  font-size: 28px;
  color: #555;
}

.export-modal .field-label {
  margin: 18px 0 10px;
  color: #6b6b6b;
  font-size: 14px;
  font-weight: 900;
}

.export-modal-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  margin-bottom: 20px;
  padding-right: 26px;
}

.export-modal-head h2 {
  margin: 0;
  color: #111827;
  font-size: 24px;
  line-height: 1.25;
}

.export-modal-head p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
  line-height: 1.55;
}

.export-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf8ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

.export-badge.vip-badge {
  background: #fff7ed;
  color: #c2410c;
}

.export-badge.free-badge {
  background: #eaf2ff;
  color: var(--purple-dark);
}

.export-name-label {
  margin-top: 18px;
}

.export-select,
.export-name-input {
  width: 100%;
  height: 48px;
  border-radius: 8px;
  font-size: 15px;
  outline: none;
}

.export-select {
  padding: 0 14px;
  border: 1px solid #d9e1eb;
  background: #fff;
  color: #111;
  appearance: auto;
}

.export-name-input {
  border: 0;
  background: #fafafa;
  color: #222;
  padding: 0 14px;
}

.export-entitlement-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #e3eaf3;
  border-radius: 12px;
  background: #fbfdff;
}

.export-entitlement-card b {
  display: block;
  color: #111827;
  font-size: 16px;
}

.export-entitlement-card p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
  line-height: 1.55;
}

.export-entitlement-card em {
  color: var(--purple-dark);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.export-status-line {
  min-height: 18px;
  margin-top: 12px;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.export-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 22px;
}

.export-actions .outline-btn,
.export-actions .small-primary {
  min-width: 112px;
  height: 42px;
  border-radius: 8px;
  font-weight: 900;
}

.export-name-input::placeholder {
  color: #aaa;
}

.export-submit {
  width: 100%;
  height: 68px;
  margin-top: 46px;
  border-radius: 8px;
  background: #6661f6;
  color: #fff;
  font-size: 28px;
  font-weight: 800;
}

.export-submit span {
  display: inline-flex;
  align-items: center;
  height: 22px;
  margin-left: 10px;
  padding: 0 6px;
  border-radius: 5px;
  background: #2f2f38;
  color: #ffd76a;
  font-size: 13px;
  vertical-align: middle;
}

.resume-preview-modal {
  width: min(1360px, calc(100vw - 56px));
  max-width: none;
}

.preview-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.preview-modal-head p {
  margin: 6px 0 0;
  color: #667085;
}

.preview-spread {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 22px;
  max-height: 72vh;
  overflow: auto;
  padding: 18px;
  border-radius: 14px;
  background: #f8fafc;
}

.preview-spread .a4 {
  width: 650px;
  margin: 0 auto 24px;
  transform-origin: top center;
}

.ai-compare-box {
  max-height: 116px;
  overflow: auto;
  padding: 12px;
  border-radius: 10px;
  background: #f8fafc;
  color: #4b5563;
  line-height: 1.7;
  white-space: pre-line;
}

.ai-write-modal {
  width: min(860px, calc(100vw - 48px));
  max-height: calc(100vh - 36px);
  max-width: none;
  padding: 22px 22px 18px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ai-modal-title {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: -2px -2px 14px;
  padding: 2px 2px 14px;
  border-bottom: 1px solid #eef0f6;
  flex: 0 0 auto;
}

.ai-modal-title h2 {
  margin: 0;
  color: #111827;
  font-size: 22px;
  line-height: 1.3;
}

.ai-modal-title p {
  margin: 4px 0 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.5;
}

.ai-write-modal .ai-context-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid #e3e9f2;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

.ai-write-modal .ai-context-strip span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #4b5563;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.ai-write-modal .ai-context-strip b {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: #e8f0fb;
  color: #0044a9;
  font-size: 12px;
}

.ai-modal-title button {
  flex: 0 0 auto;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #6d63ff;
  font-weight: 800;
}

.ai-mode-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
  flex: 0 0 auto;
}

.ai-mode-tabs button {
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  text-align: left;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

.ai-mode-tabs button.active {
  border-color: #7fa5de;
  background: #f4f8ff;
  box-shadow: 0 14px 34px rgba(47, 125, 246, 0.1);
}

.ai-mode-tabs b,
.ai-mode-tabs span {
  display: block;
}

.ai-mode-tabs b {
  color: #111827;
  font-size: 16px;
}

.ai-mode-tabs button.active b {
  color: #0044a9;
}

.ai-mode-tabs span {
  margin-top: 4px;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
}

.ai-filter-card {
  margin: 0 0 12px;
  padding: 18px 20px 20px;
  border-radius: 14px;
  background: #f7f6ff;
  border: 1px solid #dcd8ff;
  box-shadow: 0 18px 42px rgba(88, 80, 185, 0.1);
  flex: 0 0 auto;
}

.ai-filter-card.collapsed {
  display: none;
}

.ai-filter-card h3 {
  margin: 0 0 14px;
  color: #6d63ff;
  font-size: 18px;
}

.ai-filter-card.compact {
  padding: 16px;
  background: #fbfbff;
  box-shadow: 0 12px 30px rgba(88, 80, 185, 0.07);
}

.ai-filter-card.compact h3 {
  margin-bottom: 10px;
  font-size: 17px;
}

.ai-simple-field {
  display: grid;
  gap: 8px;
}

.ai-simple-field label {
  color: #4b5563;
  font-weight: 800;
}

.ai-simple-field input {
  margin-top: 7px;
  height: 44px;
  background: #fff;
}

.ai-filter-grid {
  display: grid;
  grid-template-columns: 1fr repeat(3, minmax(0, .9fr));
  gap: 12px;
  align-items: end;
}

.ai-filter-grid label {
  color: #666a76;
  font-weight: 700;
}

.ai-filter-grid select {
  width: 100%;
  height: 42px;
  margin-top: 6px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  outline: none;
  background: #fff;
  color: #111827;
  font-size: 15px;
  box-shadow: 0 8px 18px rgba(88, 80, 185, 0.08);
}

.ai-filter-card textarea {
  margin-top: 12px;
  min-height: 76px !important;
  background: #fff !important;
}

.ai-polish-brief {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(109, 99, 255, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  color: #667085;
  line-height: 1.55;
}

.ai-polish-brief b {
  color: #111827;
  font-size: 15px;
}

.ai-polish-brief span {
  font-size: 13px;
}

.ai-polish-brief em {
  color: #104ba3;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.ai-polish-brief em.warn {
  color: #e11d48;
}

.ai-mode-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  color: #667085;
  font-size: 13px;
  line-height: 1.55;
}

.ai-mode-note b {
  color: #111827;
}

.ai-entitlement-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fbff;
}

.ai-entitlement-note b,
.ai-entitlement-note span {
  display: block;
}

.ai-entitlement-note b {
  color: #1e3a8a;
  font-size: 14px;
}

.ai-entitlement-note span {
  margin-top: 4px;
  color: #667085;
  font-size: 12px;
  line-height: 1.55;
}

.ai-entitlement-note button {
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

.ai-generate-main {
  width: 100%;
  height: 46px;
  margin-top: 12px;
  border-radius: 8px;
  background: #6b5cff;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(107, 92, 255, 0.24);
}

.ai-generate-main:hover {
  background: #5848f5;
  transform: translateY(-1px);
}

.ai-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-height: 0;
}

.ai-workspace-panel {
  min-width: 0;
}

.ai-editor-label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.ai-editor-label em {
  color: #8a94a6;
  font-style: normal;
  font-size: 12px;
}

.ai-source-textarea,
.ai-result-textarea {
  width: 100%;
  min-height: 182px !important;
  max-height: 238px;
  padding: 16px;
  border: 1px solid #e1e7f0;
  border-radius: 10px;
  outline: none;
  resize: vertical;
  background: #fff;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.85;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.02);
}

.ai-result-textarea {
  border-color: #d8d1ff;
}

.ai-source-textarea:focus,
.ai-result-textarea:focus {
  border-color: #7fa5de;
  box-shadow: 0 0 0 3px rgba(47, 125, 246, 0.1);
}

.ai-box-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 34px;
  margin-top: -35px;
  padding: 0 10px 8px 12px;
  position: relative;
  pointer-events: none;
}

.ai-box-foot span {
  color: #8a94a6;
  font-size: 12px;
}

.ai-box-foot button {
  pointer-events: auto;
  height: 28px;
  padding: 0 11px;
  border: 1px solid #e3e8f0;
  border-radius: 7px;
  background: #fff;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.ai-flow-arrow {
  align-self: center;
  justify-self: center;
  color: #8a94a6;
  font-size: 34px;
  line-height: 1;
}

.ai-workspace-panel .tag-row {
  margin-top: 12px;
}

.ai-workspace-panel .tag-row em {
  background: #edf8ff;
  color: #2b80d7;
}

.ai-workspace-panel .result-tags em {
  background: #e9f0fb;
  color: #0044a9;
}

.ai-template-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 10px;
}

.ai-template-row button {
  height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  background: #f1f5ff;
  color: #2563eb;
  font-size: 13px;
  font-weight: 800;
}

.ai-template-row button.active {
  background: #6b5cff;
  color: #fff;
  box-shadow: 0 10px 22px rgba(107, 92, 255, 0.18);
}

.ai-write-modal .ai-diff-list {
  max-height: 160px;
}

.ai-write-modal .modal-footer {
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #eef2f7;
  background: #fff;
}

.ai-write-modal .modal-footer .ghost-btn,
.ai-write-modal .modal-footer .small-primary {
  min-width: 148px;
  height: 42px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
}

.ai-write-modal .modal-footer .small-primary {
  min-width: 188px;
}

.ai-write-modal > .field-label,
.ai-write-modal > .ai-compare-box,
.ai-write-modal > .ai-workspace-grid,
.ai-write-modal > .ai-template-row,
.ai-write-modal > .ai-diff-list,
.ai-write-modal > .tag-row,
.ai-write-modal > .hint {
  flex: 0 0 auto;
}

.section-item-modal {
  width: min(700px, calc(100vw - 72px));
  max-height: calc(100vh - 84px);
  max-width: none;
  padding: 24px 26px 18px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.section-item-modal h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 42px 20px 0;
  font-size: 22px;
  flex: 0 0 auto;
}

.section-item-modal h2 span {
  font-size: 24px;
  font-weight: 400;
}

.section-item-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px 16px;
  min-height: 0;
  overflow: auto;
  padding: 0 6px 2px 0;
  overscroll-behavior: contain;
}

.section-item-form::-webkit-scrollbar {
  width: 8px;
}

.section-item-form::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.42);
  border-radius: 999px;
}

.section-item-form::-webkit-scrollbar-track {
  background: transparent;
}

.section-item-form label {
  color: #666a76;
  font-size: 15px;
  font-weight: 650;
}

.section-item-form label.wide {
  grid-column: 1 / -1;
}

.section-item-form input,
.section-item-form textarea,
.section-rich-editor {
  width: 100%;
  margin-top: 7px;
  border: 0;
  outline: none;
  border-radius: 6px;
  background: #f6f6f7;
  color: #111827;
  font-size: 15px;
}

.section-item-form input {
  height: 38px;
  padding: 0 12px;
}

.section-item-form textarea,
.section-rich-editor {
  min-height: 132px;
  padding: 12px;
  line-height: 1.65;
  resize: vertical;
}

.section-rich-editor {
  overflow: auto;
  border: 1px solid #e5e7eb;
  background: #fbfbfc;
  font-size: 15px;
  white-space: pre-wrap;
}

.section-rich-editor .ai-inline-block {
  display: grid;
  gap: 10px;
}

.section-rich-editor .ai-inline-before {
  display: block;
  color: #9ca3af;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: #8a94a6;
}

.section-rich-editor .ai-inline-current {
  display: block;
  color: #111827;
  border-left: 3px solid #1456b8;
  padding-left: 10px;
}

.section-rich-editor:empty::before {
  content: attr(data-placeholder);
  color: #a1a1aa;
}

.section-rich-editor p,
.section-rich-editor h1,
.section-rich-editor h2,
.section-rich-editor h3 {
  margin: 0 0 10px;
}

.section-rich-editor ul,
.section-rich-editor ol {
  margin: 0 0 10px 22px;
  padding: 0;
}

.rich-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  align-items: center;
  margin-top: 8px;
  padding: 6px 0 8px;
}

.rich-toolbar button {
  min-width: 24px;
  height: 26px;
  padding: 0 5px;
  border-radius: 5px;
  color: #292d36;
  font-weight: 700;
  font-size: 13px;
}

.rich-toolbar button:hover {
  background: #f0f0f4;
}

.rich-toolbar button[data-action] {
  min-width: 76px;
  height: 30px;
  margin-left: auto;
  border: 1px solid #7b6dff;
  color: #6b5cff;
  background: #fff;
  font-size: 14px;
}

.rich-toolbar button.ai-inline-btn[data-ai-template="sample"] {
  border-color: #ff6868;
  color: #ef4444;
}

.rich-toolbar button.ai-inline-btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

.rich-toolbar button[data-action] + button[data-action] {
  margin-left: 0;
}

.section-item-modal .modal-footer {
  flex: 0 0 auto;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eef2f7;
  background: #fff;
}

.keyword-field small {
  display: block;
  margin-top: 8px;
  color: #777b87;
  font-size: 13px;
  font-weight: 400;
}

.ai-diff-list {
  display: grid;
  gap: 10px;
  max-height: 220px;
  overflow: auto;
  margin-top: 12px;
}

.ai-diff-list div {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid #e6edf7;
  border-radius: 10px;
  background: #fbfdff;
}

.ai-diff-list b {
  color: #111827;
}

.ai-diff-list span,
.ai-diff-list em {
  color: #667085;
  font-style: normal;
}

.ai-diff-list strong {
  color: var(--purple-dark);
  font-weight: 800;
}

.analysis-bars {
  display: grid;
  gap: 12px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid #edf0f4;
  border-radius: 14px;
  background: #fff;
}

.analysis-bars div {
  display: grid;
  grid-template-columns: 86px 54px 1fr;
  align-items: center;
  gap: 10px;
  color: #667085;
}

.analysis-bars b {
  color: #111827;
}

.analysis-bars em {
  height: 8px;
  border-radius: 999px;
  background: #eef2f7;
  overflow: hidden;
}

.analysis-bars i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--purple);
}

.analysis-heading h2 {
  font-size: 34px;
  letter-spacing: 0;
}

.analysis-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 12px 0 18px;
  padding: 18px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 18%, rgba(129, 125, 255, .2), transparent 30%),
    linear-gradient(135deg, #f7f9ff, #f1f7ff);
  border: 1px solid #dce8ff;
  box-shadow: 0 16px 34px rgba(51, 88, 185, .08);
}

.analysis-hero div {
  display: grid;
  gap: 4px;
}

.analysis-hero span,
.analysis-hero em {
  color: #667085;
  font-style: normal;
  font-weight: 700;
}

.analysis-hero b {
  color: #111827;
  font-size: 42px;
  line-height: 1;
}

.analysis-ai-btn {
  height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  color: #fff;
  background: #6266ff;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(98, 102, 255, .24);
}

.analysis-ai-btn:hover {
  background: #5054f0;
  transform: translateY(-1px);
}

.analysis-tabs {
  height: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 6px;
  margin: 18px 0 28px;
  border-radius: 8px;
  background: #f0f0f0;
}

.analysis-tabs button {
  border-radius: 7px;
  color: #292929;
  font-size: 20px;
  font-weight: 700;
}

.analysis-tabs .active {
  background: #fff;
  color: #6566ff;
}

.analysis-notice {
  width: 100%;
  max-width: 100%;
  min-height: 58px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: 0 auto 24px;
  padding: 6px 10px 6px 26px;
  border: 2px solid #b9b7ff;
  border-radius: 999px;
  background: #f1f0ff;
  color: #6966ff;
  font-size: 18px;
  font-weight: 700;
}

.analysis-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 26px;
}

.analysis-notice button {
  height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  background: #817dff;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
}

.gauge-card {
  display: grid;
  justify-items: center;
  gap: 24px;
  margin-bottom: 0;
  padding: 18px;
  border: 1px solid #edf0f8;
  border-radius: 18px;
  background: #fff;
}

.gauge {
  position: relative;
  width: 330px;
  height: 178px;
  overflow: hidden;
}

.gauge-arc {
  position: absolute;
  inset: 0 0 auto;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 40%, transparent 41%),
    conic-gradient(from 270deg, #3ca6f8 0 117deg, #245fe0 117deg 180deg, transparent 180deg 360deg);
}

.gauge-arc::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 50%;
  border: 7px dotted #39a6fb;
}

.gauge-mask {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 52px;
  background: #fff;
  border-top: 3px solid #2764e4;
}

.gauge strong {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 50px;
  text-align: center;
  color: #222;
  font-size: 56px;
  line-height: 1;
  font-weight: 800;
}

.metric-legend {
  width: min(430px, 100%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
}

.analysis-summary-card {
  padding: 20px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  border: 1px solid #e5ebf4;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .05);
}

.analysis-summary-card b {
  display: block;
  color: #111827;
  font-size: 20px;
  margin-bottom: 10px;
}

.analysis-summary-card p {
  margin: 0 0 14px;
  color: #4b5563;
  line-height: 1.7;
}

.analysis-summary-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.analysis-summary-card span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef8ff;
  color: #2563eb;
  font-size: 13px;
  font-weight: 800;
}

.metric-legend span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #222;
  font-weight: 700;
}

.metric-legend span::before {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--dot);
}

.radar-card {
  position: relative;
  width: 520px;
  height: 420px;
  margin: 0 auto 28px;
}

.radar-chart {
  position: absolute;
  left: 50%;
  top: 36px;
  width: 330px;
  height: 330px;
  transform: translateX(-50%);
}

.radar-grid {
  fill: none;
  stroke: #61adff;
  stroke-width: 1.2;
}

.radar-grid-fill {
  fill: transparent;
  stroke: #61adff;
  stroke-width: 1.2;
}

.radar-axis {
  stroke: #2f7dff;
  stroke-width: 1.2;
  stroke-dasharray: 5 5;
}

.radar-area {
  fill: rgba(57, 166, 251, 0.35);
  stroke: #2e75ff;
  stroke-width: 2;
}

.radar-label {
  position: absolute;
  color: #494949;
  font-size: 15px;
  font-weight: 700;
}

.radar-label i {
  margin-right: 6px;
  color: var(--label);
  font-style: normal;
}

.label-0 { left: 218px; top: 0; }
.label-1 { right: 12px; top: 160px; }
.label-2 { right: 38px; bottom: 28px; }
.label-3 { left: 42px; bottom: 28px; }
.label-4 { left: 0; top: 160px; }

.analysis-score-bars {
  display: grid;
  gap: 18px;
  width: min(430px, 100%);
  margin: 0 auto 26px;
}

.analysis-action-list {
  display: grid;
  gap: 10px;
  margin: 0 0 22px;
}

.analysis-action-list button {
  min-height: 58px;
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid #e7ebf3;
  border-radius: 14px;
  background: #fff;
  text-align: left;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

.analysis-action-list button:hover {
  border-color: #b9b7ff;
  background: #fbfbff;
}

.analysis-action-list b {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f1f0ff;
  color: #6266ff;
}

.analysis-action-list span {
  color: #111827;
  font-weight: 900;
}

.analysis-action-list em {
  color: var(--purple-dark);
  font-style: normal;
  font-weight: 800;
}

.analysis-score-row {
  display: grid;
  grid-template-columns: 96px 1fr 34px;
  align-items: center;
  gap: 10px;
}

.analysis-score-row span {
  color: #1f2a44;
  font-weight: 800;
}

.analysis-score-row span i {
  margin-right: 6px;
  color: var(--bar);
  font-style: normal;
}

.analysis-score-row em {
  height: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f8;
}

.analysis-score-row b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--bar);
}

.analysis-score-row strong {
  color: #333;
  font-size: 18px;
}

.analysis-hints {
  margin-top: 22px;
  padding: 16px;
  border: 1px solid #edf0f4;
  border-radius: 14px;
  background: #fff;
}

.analysis-hints b {
  display: block;
  margin-bottom: 8px;
  color: #111827;
  font-size: 18px;
}

.analysis-hints p {
  margin: 8px 0 0;
  color: #667085;
  line-height: 1.7;
}

.analysis-hints button {
  width: 100%;
  height: 42px;
  margin-top: 14px;
  border-radius: 10px;
  background: #2f7df6;
  color: #fff;
  font-weight: 900;
}

.analysis-heading {
  margin-bottom: 14px;
}

.analysis-heading h2 {
  font-size: 30px;
  line-height: 1.1;
}

.analysis-heading p {
  margin: 8px 0 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.6;
}

.analysis-hero {
  min-height: 132px;
  padding: 20px 22px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 72% 32%, rgba(47, 125, 246, .14), transparent 28%),
    linear-gradient(135deg, #f2f4ff 0%, #f4f8ff 100%);
  border: 1px solid #cce7ff;
  box-shadow: 0 18px 42px rgba(51, 88, 185, .08);
}

.analysis-hero small {
  color: #8a94a6;
  font-size: 12px;
  font-weight: 700;
}

.analysis-ai-btn:disabled,
.analysis-notice button:disabled {
  opacity: .62;
  cursor: wait;
  transform: none;
}

.analysis-tabs {
  height: 48px;
  margin: 18px 0;
  padding: 4px;
  border-radius: 16px;
  background: #eef0f4;
}

.analysis-tabs button {
  border-radius: 12px;
  font-size: 16px;
}

.analysis-tabs .active {
  color: var(--purple-dark);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.analysis-notice {
  min-height: auto;
  align-items: center;
  margin-bottom: 18px;
  padding: 10px 12px 10px 18px;
  border-width: 1px;
  border-color: #aaa7ff;
  border-radius: 18px;
  font-size: 15px;
  line-height: 1.6;
}

.analysis-notice button {
  flex: 0 0 auto;
  height: 38px;
  padding: 0 18px;
  font-size: 15px;
}

.analysis-report-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid rgba(47, 125, 246, .24);
  border-radius: 18px;
  background:
    radial-gradient(circle at 78% 22%, rgba(47, 125, 246, .12), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4f8ff);
  box-shadow: 0 14px 30px rgba(15, 23, 42, .045);
}

.analysis-free-card,
.analysis-paywall-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 0 0 16px;
  padding: 15px 16px;
  border-radius: 16px;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .04);
}

.analysis-free-card {
  border: 1px solid rgba(47, 125, 246, .22);
  background: linear-gradient(135deg, #ffffff, #f4f8ff);
}

.analysis-paywall-card {
  border: 1px solid #fde3ba;
  background: linear-gradient(135deg, #fff, #fff8ed);
}

.analysis-free-card b,
.analysis-free-card span,
.analysis-paywall-card b,
.analysis-paywall-card span {
  display: block;
}

.analysis-free-card b,
.analysis-paywall-card b {
  color: #111827;
  font-size: 16px;
}

.analysis-free-card span,
.analysis-paywall-card span {
  margin-top: 4px;
  color: #667085;
  font-size: 13px;
  line-height: 1.55;
}

.analysis-free-card button,
.analysis-paywall-card button {
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.analysis-free-card button {
  background: #0044a9;
}

.analysis-paywall-card button {
  background: #f97316;
}

.analysis-report-card span {
  display: block;
  color: var(--purple-dark);
  font-size: 13px;
  font-weight: 900;
}

.analysis-report-card b {
  display: block;
  margin: 8px 0 6px;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.55;
}

.analysis-report-card p {
  margin: 0;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.analysis-report-card em {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eef8ff;
  color: #2563eb;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
}

.analysis-overview-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(240px, .95fr);
  gap: 14px;
  margin-bottom: 16px;
}

.gauge-card,
.analysis-summary-card,
.radar-card,
.analysis-score-bars,
.analysis-dimension-card,
.analysis-hints,
.analysis-history-card {
  border: 1px solid #e4edf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .045);
}

.gauge-card {
  min-width: 0;
  gap: 14px;
  padding: 16px 14px;
  overflow: hidden;
}

.gauge {
  width: min(300px, 100%);
  height: 158px;
}

.gauge-arc {
  width: 300px;
  height: 300px;
  left: 50%;
  transform: translateX(-50%);
}

.gauge strong {
  bottom: 42px;
  font-size: 48px;
}

.metric-legend {
  gap: 10px 18px;
}

.metric-legend span {
  font-size: 13px;
}

.metric-legend span::before {
  width: 10px;
  height: 10px;
}

.analysis-summary-card {
  padding: 18px;
  min-width: 0;
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.analysis-summary-card b {
  font-size: 22px;
}

.analysis-summary-card p {
  font-size: 15px;
}

.analysis-chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .82fr);
  gap: 14px;
  align-items: stretch;
  margin-bottom: 16px;
}

.radar-card {
  width: auto;
  height: 360px;
  margin: 0;
  padding: 12px;
  overflow: hidden;
}

.radar-chart {
  top: 42px;
  width: 270px;
  height: 270px;
}

.radar-label {
  font-size: 13px;
  white-space: nowrap;
}

.label-0 { left: 50%; top: 14px; transform: translateX(-50%); }
.label-1 { right: 18px; top: 144px; }
.label-2 { right: 44px; bottom: 22px; }
.label-3 { left: 44px; bottom: 22px; }
.label-4 { left: 18px; top: 144px; }

.analysis-score-bars {
  width: auto;
  margin: 0;
  padding: 18px;
  align-content: center;
  gap: 14px;
}

.analysis-score-row {
  grid-template-columns: 92px 1fr 30px;
}

.analysis-score-row span {
  font-size: 13px;
}

.analysis-score-row em {
  height: 14px;
}

.analysis-score-row strong {
  font-size: 16px;
}

.analysis-dimension-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.analysis-dimension-card {
  padding: 14px;
  border-color: color-mix(in srgb, var(--card) 24%, #e4edf3);
}

.analysis-dimension-card div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.analysis-dimension-card span {
  color: #111827;
  font-weight: 900;
}

.analysis-dimension-card span i {
  margin-right: 6px;
  color: var(--card);
  font-style: normal;
}

.analysis-dimension-card b {
  color: var(--card);
  font-size: 24px;
}

.analysis-dimension-card p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 13px;
  line-height: 1.65;
}

.analysis-dimension-card em {
  display: block;
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--card) 9%, #fff);
  color: #4b5563;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.55;
}

.analysis-keyword-card {
  margin: 0 0 16px;
  padding: 18px;
  border: 1px solid #dfe7f4;
  border-radius: 18px;
  background: #fbfdff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .035);
}

.analysis-keyword-card b {
  display: block;
  color: #0f172a;
  font-size: 18px;
}

.analysis-keyword-card p {
  margin: 8px 0 12px;
  color: #667085;
  font-size: 13px;
  line-height: 1.6;
}

.analysis-keyword-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.analysis-keyword-card span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf8ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

.analysis-action-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.analysis-action-list button {
  grid-template-columns: 32px 1fr;
  min-height: 68px;
}

.analysis-action-list em {
  grid-column: 2;
  font-size: 12px;
}

.analysis-hints {
  margin-top: 0;
  padding: 18px;
}

.analysis-history-list {
  display: grid;
  gap: 12px;
}

.analysis-history-card {
  position: relative;
  padding: 16px;
}

.analysis-history-card > div {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 2px 12px;
  align-items: center;
}

.analysis-history-card b {
  grid-row: span 2;
  color: #111827;
  font-size: 36px;
  line-height: 1;
}

.analysis-history-card span {
  color: #111827;
  font-weight: 900;
}

.analysis-history-card em {
  color: #8a94a6;
  font-size: 12px;
  font-style: normal;
}

.analysis-history-card p {
  margin: 12px 0;
  color: #667085;
  line-height: 1.6;
}

.analysis-history-card section {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.analysis-history-card section span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f6f8fb;
  color: #4b5563;
  font-size: 12px;
}

.analysis-history-card section span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dot);
}

.analysis-history-card > strong {
  position: absolute;
  right: 14px;
  top: 14px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eaf2ff;
  color: var(--purple-dark);
  font-size: 12px;
}

.analysis-report-title-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 16px 0 14px;
  padding: 18px 20px;
  border: 1px solid rgba(98, 102, 255, .18);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(98, 102, 255, .13), transparent 28%),
    linear-gradient(135deg, #fff, #f7faff);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .045);
}

.analysis-report-title-card span,
.analysis-energy-copy span {
  display: block;
  color: #667085;
  font-size: 13px;
  font-weight: 900;
}

.analysis-report-title-card b {
  display: block;
  margin-top: 6px;
  color: #0f172a;
  font-size: 21px;
  line-height: 1.35;
}

.analysis-report-title-card em {
  flex: 0 0 auto;
  color: #8a94a6;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.analysis-energy-copy b {
  display: block;
  margin: 4px 0 6px;
  color: #0f172a;
  font-size: 46px;
  line-height: 1;
  letter-spacing: 0;
}

.analysis-mini-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(96px, 1fr));
  gap: 10px;
  min-width: 240px;
}

.analysis-mini-metrics article {
  min-height: 68px;
  padding: 12px;
  border: 1px solid rgba(47, 125, 246, .14);
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
}

.analysis-mini-metrics article b {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.15;
}

.analysis-mini-metrics article span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.gauge-card h3,
.radar-card h3,
.analysis-score-bars h3 {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.2;
}

.gauge-card h3 {
  align-self: start;
  padding-left: 4px;
}

.analysis-summary-card section {
  margin-top: 14px;
}

.analysis-summary-card small {
  display: block;
  margin-bottom: 8px;
  color: #8a94a6;
  font-size: 12px;
  font-weight: 900;
}

.analysis-summary-card section div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.analysis-summary-card section span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf8ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

.analysis-trimg-intro {
  margin: 0 0 14px;
  padding: 18px 20px;
  border: 1px solid rgba(98, 102, 255, .2);
  border-radius: 20px;
  background: linear-gradient(135deg, #f4f3ff, #f2f7ff);
}

.analysis-trimg-intro b {
  display: block;
  color: #0f172a;
  font-size: 20px;
  line-height: 1.25;
}

.analysis-trimg-intro p {
  margin: 8px 0 0;
  color: #667085;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

.analysis-trimg-list {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.analysis-trimg-card {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 16px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--trimg) 22%, #e4edf3);
  border-radius: 18px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--trimg) 8%, #fff), #fff 42%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .035);
}

.analysis-trimg-score {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--trimg) 10%, #fff);
}

.analysis-trimg-score b {
  color: #0f172a;
  font-size: 34px;
  line-height: 1;
}

.analysis-trimg-score span {
  color: var(--trimg);
  font-size: 15px;
  font-weight: 1000;
}

.analysis-trimg-score em {
  display: block;
  margin-top: 2px;
  color: #667085;
  font-size: 12px;
  font-style: normal;
}

.analysis-trimg-body h3 {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
}

.analysis-trimg-body p {
  margin: 6px 0 12px;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.analysis-trimg-body section {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.analysis-trimg-body section b {
  color: #0f172a;
  font-size: 13px;
}

.analysis-trimg-body section span {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.65;
}

.progress-track {
  height: 8px;
  background: #eeeef6;
  border-radius: 8px;
  overflow: hidden;
  margin: 8px 0 18px;
}

.progress-track span {
  display: block;
  height: 100%;
  background: var(--purple);
  border-radius: inherit;
}

.step {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 42px;
  color: #8a8d99;
}

.step b {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ececf2;
  color: #888b98;
}

.step.done {
  color: #222431;
}

.step.done b {
  background: var(--purple);
  color: #fff;
}

.module-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.module-choice button {
  height: 42px;
  border: 1px solid #dedcf6;
  color: var(--purple);
  border-radius: 4px;
  background: #fbfaff;
}

.toast {
  position: fixed;
  left: 50%;
  top: 72px;
  transform: translateX(-50%);
  background: rgba(20, 24, 36, 0.86);
  color: #fff;
  padding: 10px 18px;
  border-radius: 6px;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 10px 26px rgba(20, 24, 36, 0.2);
  transition:
    opacity 0.2s var(--ease),
    transform 0.2s var(--ease);
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 4px);
}

@keyframes pageRise {
  from {
    opacity: 0.92;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes modalIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes popMenu {
  from {
    opacity: 0;
    transform: translateY(4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes panelIn {
  from {
    opacity: 0.86;
    transform: translateX(6px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* PC template selection v138: state changes are paint-only and never rebuild or resize cards. */
@media (min-width: 1024px) {
  body.ds-2026 .template-page .selection-catalog-card,
  body.ds-2026 .template-page .selection-catalog-card:hover,
  body.ds-2026 .template-page .selection-catalog-card:active,
  body.ds-2026 .template-page .selection-catalog-card.active,
  body.ds-2026 .template-page .selection-catalog-card.active:hover {
    box-sizing: border-box !important;
    transform: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-card .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active:hover .catalog-preview {
    box-sizing: border-box !important;
    border-width: 1px !important;
    outline: 0 !important;
    outline-offset: 0 !important;
    transform: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-card.active .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active:hover .catalog-preview {
    border-color: #2563eb !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px rgba(30, 74, 132, .09) !important;
  }

  body.ds-2026 .template-page .catalog-selected-mark,
  body.ds-2026 .template-page .selection-catalog-card.active .catalog-selected-mark {
    transform: none !important;
    transition: opacity 140ms var(--ds-ease2) !important;
  }
}

@media (max-width: 1200px) {
  .topbar {
    padding: 0 24px;
  }

  .brand {
    min-width: 520px;
  }

  .brand-name {
    font-size: 26px;
  }

  .helped {
    display: block;
  }

  .vip {
    height: 40px;
    padding: 0 18px;
  }

  .mine-main {
    width: 1280px;
  }

  .resume-grid {
    grid-template-columns: repeat(4, 240px);
  }

  .button-row {
    gap: 24px;
  }

  .primary,
  .outline {
    padding: 0 28px;
  }
}

.ai-panel-heading {
  margin-bottom: 22px;
}

.ai-panel-heading h2 {
  letter-spacing: 0;
}

.ai-panel-heading p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 18px;
  line-height: 1.65;
}

.ai-job-card {
  padding: 28px;
  border: 1px solid rgba(47, 125, 246, 0.34);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(240, 245, 253, 0.92), rgba(255, 255, 255, 0.96));
  box-shadow: 0 22px 46px rgba(15, 56, 118, 0.08);
}

.ai-job-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}

.ai-job-head span,
.ai-result-head span {
  display: block;
  color: #667085;
  font-size: 17px;
  font-weight: 700;
}

.ai-job-head b,
.ai-result-head b {
  display: block;
  margin-top: 6px;
  color: #0f172a;
  font-size: 28px;
  line-height: 1.25;
}

.ai-job-head em {
  flex: 0 0 auto;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(47, 125, 246, 0.12);
  color: #1f63d6;
  font-size: 15px;
  font-style: normal;
  font-weight: 800;
}

.ai-job-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.ai-job-grid label {
  display: grid;
  gap: 8px;
  color: #667085;
  font-size: 15px;
  font-weight: 800;
}

.ai-job-grid select,
.ai-job-card .input,
.ai-jd-textarea {
  width: 100%;
  border: 1px solid rgba(99, 102, 241, 0.22);
  border-radius: 14px;
  background: #fff;
  color: #0f172a;
  font-size: 17px;
  font-weight: 700;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.ai-job-grid select {
  height: 46px;
  padding: 0 12px;
}

.ai-job-card .input {
  min-height: 48px;
  margin-top: 12px;
  padding: 0 16px;
}

.ai-job-card .input:focus,
.ai-job-grid select:focus,
.ai-jd-textarea:focus {
  border-color: rgba(47, 125, 246, 0.72);
  box-shadow: 0 0 0 4px rgba(47, 125, 246, 0.12);
  outline: none;
}

.ai-jd-textarea {
  min-height: 150px;
  padding: 16px;
  line-height: 1.7;
  resize: vertical;
}

.ai-suite-btn {
  width: 100%;
  height: 58px;
  margin-top: 18px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #2f7df6, #2f7df6);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 18px 34px rgba(47, 125, 246, 0.22);
  cursor: pointer;
}

.ai-suite-btn:disabled {
  opacity: 0.68;
  cursor: wait;
}

.ai-task-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}

.ai-task-card {
  position: relative;
  min-height: 148px;
  padding: 20px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 20px;
  background: #fff;
  color: #0f172a;
  text-align: left;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.ai-task-card:hover {
  transform: translateY(-2px);
  border-color: rgba(47, 125, 246, 0.5);
  box-shadow: 0 18px 38px rgba(15, 56, 118, 0.1);
}

.ai-task-card span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(47, 125, 246, 0.12);
  color: #1f63d6;
  font-size: 14px;
  font-weight: 900;
}

.ai-task-card b {
  display: block;
  margin-top: 16px;
  font-size: 21px;
}

.ai-task-card em {
  display: block;
  margin-top: 8px;
  color: #667085;
  font-size: 15px;
  font-style: normal;
  line-height: 1.45;
}

.ai-task-card i {
  position: absolute;
  right: 16px;
  top: 18px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f0f9ff;
  color: #2563eb;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.ai-result-panel {
  padding: 24px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.07);
}

.ai-result-panel.has-result {
  border-color: rgba(47, 125, 246, 0.32);
}

.ai-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.ai-result-head button,
.ai-suggestion-list article > button {
  height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: 12px;
  background: #2f7df6;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.ai-loading-card {
  display: grid;
  gap: 6px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(47, 125, 246, 0.08));
  color: #4b5563;
  font-size: 16px;
}

.ai-keyword-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.ai-keyword-panel em {
  padding: 7px 11px;
  border-radius: 999px;
  background: #ecf4ff;
  color: #084cb2;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
}

.ai-suggestion-list {
  display: grid;
  gap: 14px;
}

.ai-suggestion-list article {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid #e5edf5;
  border-radius: 18px;
  background: #fbfdff;
}

.ai-suggestion-list header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ai-suggestion-list header b {
  color: #0f172a;
  font-size: 19px;
}

.ai-suggestion-list header span {
  color: #667085;
  font-size: 14px;
  font-weight: 700;
}

.ai-suggestion-list small {
  display: block;
  color: #8a94a6;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 6px;
}

.ai-suggestion-list p {
  margin: 0;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.7;
  white-space: pre-line;
}

.ai-suggestion-list .after {
  padding: 14px;
  border-radius: 14px;
  background: rgba(240, 245, 253, 0.72);
}

.ai-suggestion-list .after p {
  color: #0f172a;
  font-weight: 700;
}

.ai-suggestion-list article > button {
  justify-self: end;
}

.ai-empty-guide {
  padding: 30px;
  border: 1px dashed rgba(47, 125, 246, 0.42);
  border-radius: 20px;
  background: rgba(240, 245, 253, 0.52);
  text-align: center;
}

.ai-empty-guide b {
  color: #0f172a;
  font-size: 22px;
}

.ai-empty-guide p {
  max-width: 620px;
  margin: 12px auto 18px;
  color: #667085;
  font-size: 16px;
  line-height: 1.75;
}

.ai-empty-guide div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.ai-empty-guide span {
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  color: #1f63d6;
  font-size: 14px;
  font-weight: 900;
}

@media (max-width: 760px) {
  .module-summary-row {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 8px;
  }

  .summary-ai-actions {
    grid-column: 2 / -1;
  }

  .export-modal-head,
  .export-entitlement-card,
  .export-actions,
  .ai-entitlement-note,
  .analysis-free-card,
  .analysis-paywall-card {
    grid-template-columns: 1fr;
  }

  .export-actions {
    justify-content: stretch;
  }

  .export-actions button,
  .ai-entitlement-note button,
  .analysis-free-card button,
  .analysis-paywall-card button {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .mine-main {
    width: 1280px;
    padding-top: 42px;
  }

  .mine-header {
    height: 74px;
    display: flex;
    gap: 0;
  }

  .resume-grid {
    grid-template-columns: repeat(4, 240px);
    gap: 20px;
  }

  .resume-card .card-overlay {
    opacity: 0;
    pointer-events: none;
    background: rgba(31, 33, 42, 0.36);
    padding: 0 12px 84px;
  }

  .resume-card:hover .card-overlay,
  .resume-card:focus-within .card-overlay,
  .resume-card.menu-open .card-overlay {
    opacity: 1;
    pointer-events: auto;
  }
}

@media (max-width: 1200px) {
  .topbar {
    padding: 0 16px;
  }

  .brand {
    min-width: 0;
  }

  .brand-name {
    font-size: 22px;
    white-space: nowrap;
  }

  .helped {
    display: none;
  }

  .vip {
    width: auto;
    height: 34px;
    padding: 0 12px;
    writing-mode: initial;
    white-space: nowrap;
  }

  .mine-main {
    width: calc(100vw - 64px);
  }

  .resume-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 240px));
  }

  .editor-body {
    grid-template-columns: 1fr 470px;
  }

  .button-row {
    gap: 12px;
  }

  .primary,
  .outline {
    padding: 0 18px;
  }
}

@media (max-width: 760px) {
  .mine-main {
    width: calc(100vw - 32px);
    padding-top: 24px;
  }

  .mine-header {
    height: auto;
    display: grid;
    gap: 14px;
  }

  .button-row {
    justify-content: start;
  }

  .resume-grid {
    grid-template-columns: repeat(2, minmax(220px, 240px));
    gap: 16px;
  }

  .resume-card {
    width: 240px;
  }

  .resume-card .card-overlay {
    opacity: 1;
    pointer-events: auto;
    background: transparent;
    align-items: flex-end;
    padding-bottom: 92px;
  }

  .resume-card .overlay-btn {
    box-shadow: 0 4px 12px rgba(40, 44, 70, 0.12);
  }
}

@media (max-width: 760px) {
  .app-shell,
  .product-shell,
  .legal-shell {
    width: 100%;
    min-width: 0;
  }

  .topbar {
    min-width: 0;
    height: auto;
    min-height: 66px;
    padding: 10px 14px;
    gap: 10px;
    flex-wrap: wrap;
  }

  .brand {
    min-width: 0;
    flex: 1 1 180px;
  }

  .brand-name {
    font-size: 20px;
  }

  .main-nav {
    display: none;
  }

  .main-nav button {
    flex: 0 0 auto;
  }

  .login-view {
    min-width: 0;
    grid-template-columns: 1fr;
  }

  .login-art {
    display: none;
  }

  .login-panel {
    min-height: 100vh;
    padding: 28px 20px 44px;
    box-shadow: none;
  }

  .login-modal,
  .legal-modal {
    padding: 26px 20px;
    border-radius: 18px;
  }

  .legal-modal {
    max-height: calc(100vh - 28px);
  }

  .home-main,
  .template-page,
  .ai-page,
  .legal-main {
    width: calc(100vw - 32px);
    min-width: 0;
    padding: 24px 0 56px;
  }

  .home-hero,
  .home-hero-redesign {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 18px 0 8px;
  }

  .home-hero-redesign .hero-copy,
  .home-hero-redesign .hero-copy h1,
  .home-hero-redesign .hero-copy p {
    max-width: 100%;
  }

  .home-hero-redesign .hero-copy h1,
  .hero-copy h1,
  .ai-title h1 {
    font-size: 34px;
    line-height: 1.18;
  }

  .hero-copy p,
  .ai-title p,
  .page-head p {
    font-size: 15px;
    line-height: 1.75;
  }

  .ai-sample-search-panel,
  .ai-sample-results {
    width: 100%;
    padding: 18px;
    border-radius: 16px;
  }

  .ai-sample-search-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .ai-sample-search-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .ai-sample-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ai-sample-card {
    grid-template-rows: 220px 1fr;
  }

  .ai-sample-preview-modal {
    width: calc(100vw - 28px);
    padding: 20px;
  }

  .ai-sample-preview-stage {
    padding: 12px;
  }

  .editor-sample-modal {
    width: calc(100vw - 28px);
    padding: 20px;
  }

  .editor-sample-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-hero-redesign .hero-actions,
  .hero-actions {
    gap: 10px;
  }

  .home-hero-redesign .hero-actions button,
  .hero-actions button {
    flex: 1 1 142px;
    min-width: 0;
  }

  .hero-metrics {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .home-hero-redesign .hero-visual,
  .hero-visual {
    width: 100%;
    height: auto;
    min-height: 0;
  }

  .hero-product-img,
  .hero-workbench-preview {
    width: 100%;
    max-width: 100%;
    aspect-ratio: auto;
    grid-template-columns: minmax(0, 1fr);
    padding: 18px;
    border-radius: 18px;
  }

  .hero-preview-panel,
  .hero-float-card,
  .import-float,
  .hero-resume,
  .stack-paper {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .hero-preview-paper {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
  }

  .quick-grid,
  .home-split,
  .mini-template-row,
  .home-template-grid,
  .feature-grid,
  .ability-grid,
  .scenario-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-template-grid {
    gap: 12px;
  }

  .footer-inner,
  .footer-bottom {
    width: calc(100vw - 32px);
  }

  .footer-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 36px 0 28px;
  }

  .footer-column {
    min-width: 0;
  }

  .footer-bottom {
    justify-content: flex-start;
    gap: 10px 14px;
  }

  .resume-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .resume-card {
    width: 100%;
  }

  .home-static-main {
    width: calc(100vw - 32px);
    padding: 24px 0 56px;
  }

  .home-static-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .home-static-copy h1 {
    max-width: 100%;
    font-size: 34px;
    line-height: 1.18;
  }

  .home-static-copy p {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.75;
  }

  .home-static-actions button {
    width: 100%;
  }

  .home-static-visual img {
    border-radius: 18px;
    animation: none;
  }

  .home-image2-stage {
    height: 280px;
    overflow: hidden;
    border-radius: 18px;
  }

  .home-image2-stage img {
    width: 185%;
    max-width: none;
    transform: translateX(-4%);
    border-radius: 18px;
  }

  .home-image2-cta {
    left: 8.5%;
    bottom: 22%;
    width: 122px;
    height: 38px;
    border-radius: 10px;
  }

  .home-static-section {
    margin-top: 42px;
  }

  .home-section-head h2 {
    font-size: 26px;
  }

  .home-static-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .home-static-template strong {
    font-size: 15px;
  }

  .home-static-template span {
    font-size: 12px;
  }

  .home-flow-band {
    grid-template-columns: minmax(0, 1fr);
    border-radius: 16px;
  }

  .home-flow-item {
    padding: 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
  }

  .home-flow-item:last-child {
    border-bottom: 0;
  }

  .home-long-main {
    width: calc(100vw - 32px);
    padding: 26px 0 58px;
  }

  .home-long-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .home-long-copy h1 {
    max-width: 100%;
    font-size: 34px;
    line-height: 1.18;
  }

  .home-long-copy p {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.75;
  }

  .home-long-actions {
    gap: 10px;
  }

  .home-long-actions button {
    flex: 1 1 150px;
    min-width: 0;
  }

  .home-long-stats {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .home-workbench-visual {
    padding: 16px 16px 92px;
    border-radius: 20px;
  }

  .workbench-shell {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .workbench-side {
    display: none;
  }

  .workbench-main {
    padding: 18px;
  }

  .workbench-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .workbench-top strong {
    font-size: 20px;
  }

  .workbench-cards {
    grid-template-columns: 1fr;
  }

  .workbench-cards div {
    min-height: 78px;
  }

  .workbench-resumes {
    grid-template-columns: repeat(3, minmax(86px, 1fr));
    gap: 10px;
    overflow: hidden;
  }

  .score-floating {
    left: 18px;
    right: auto;
    top: auto;
    bottom: 18px;
    width: 112px;
    padding: 12px;
  }

  .score-floating b {
    font-size: 34px;
  }

  .ai-floating {
    right: 18px;
    bottom: 18px;
    width: 190px;
    padding: 12px;
  }

  .ai-floating span {
    font-size: 12px;
  }

  .home-long-section {
    margin-top: 50px;
  }

  .home-feature-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .home-feature-card {
    min-height: 0;
    padding: 20px;
  }

  .home-custom-section {
    grid-template-columns: minmax(0, 1fr);
    padding: 22px;
    border-radius: 20px;
  }

  .custom-copy h2 {
    font-size: 28px;
  }

  .custom-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-restore-main {
    width: calc(100vw - 32px);
    padding: 28px 0 56px;
  }

  .home-restore-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .restore-hero-copy h1 {
    font-size: 34px;
    line-height: 1.18;
  }

  .restore-hero-copy p {
    font-size: 15px;
    line-height: 1.75;
  }

  .restore-proof-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .restore-hero-visual {
    height: 260px;
    overflow: hidden;
    border-radius: 22px;
  }

  .restore-stage {
    left: 22%;
    right: 12%;
    bottom: 24px;
  }

  .restore-float-resume {
    width: 118px;
  }

  .restore-float-resume.r1 {
    left: 8%;
    top: 66px;
  }

  .restore-float-resume.r2 {
    left: 34%;
    top: 20px;
    width: 150px;
  }

  .restore-float-resume.r3 {
    left: 62%;
    top: 58px;
  }

  .restore-float-resume.r4 {
    display: none;
  }

  .restore-template-panel,
  .restore-custom-section,
  .restore-final-cta,
  .restore-stats-strip {
    border-radius: 20px;
  }

  .restore-template-panel {
    padding: 16px;
  }

  .restore-template-grid,
  .restore-feature-grid,
  .restore-stats-strip,
  .restore-footer-bridge {
    grid-template-columns: minmax(0, 1fr);
  }

  .restore-template-grid {
    gap: 14px;
  }

  .restore-template-card {
    padding: 10px;
  }

  .restore-custom-section {
    grid-template-columns: minmax(0, 1fr);
    padding: 24px;
  }

  .restore-custom-copy h2,
  .restore-section-head h2,
  .restore-final-cta h2 {
    font-size: 28px;
  }

  .restore-compare {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .restore-compare article {
    min-height: 220px;
    padding: 20px;
  }

  .restore-ai-badge {
    position: relative;
    left: auto;
    top: auto;
    margin: -4px auto;
  }

  .restore-feature-card {
    min-height: 0;
    padding: 22px;
  }

  .restore-final-cta {
    grid-template-columns: minmax(0, 1fr);
    padding: 28px 22px;
  }

  .restore-final-cta figure {
    height: 210px;
  }

  .restore-final-cta figure img {
    right: 96px;
  }
}

/* Design System v1 final overrides: keep this block last */
.ui-icon {
  width: 1em;
  height: 1em;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: -0.14em;
}

.primary,
.small-primary,
.login-entry,
.pill,
.top-mini,
.restore-template-card button,
.restore-more-btn {
  min-height: 40px;
  border-radius: var(--radius-md);
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.primary,
.small-primary,
.login-entry,
.pill,
.restore-template-card button,
.restore-more-btn {
  color: #fff;
  background: var(--color-brand);
  border: 1px solid var(--color-brand);
  box-shadow: 0 8px 18px rgba(47, 125, 246, 0.18);
}

.primary:hover,
.small-primary:hover,
.login-entry:hover,
.pill:hover,
.restore-template-card button:hover,
.restore-more-btn:hover {
  color: #fff;
  background: var(--color-brand-hover);
  border-color: var(--color-brand-hover);
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-1px);
}

.outline,
.ghost-btn,
.green-outline,
.login-back,
.preview-actions button,
.filter-options button,
.layout-choice button,
.ai-sample-examples button {
  min-height: 40px;
  border-radius: var(--radius-md);
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--color-text-soft);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0;
  box-shadow: none;
}

.outline:hover,
.ghost-btn:hover,
.green-outline:hover,
.login-back:hover,
.preview-actions button:hover,
.filter-options button:hover,
.layout-choice button:hover,
.ai-sample-examples button:hover {
  color: var(--color-brand-active);
  background: var(--color-brand-faint);
  border-color: rgba(47, 125, 246, 0.36);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.icon-btn,
.file-btn,
.close,
.favorite-mini {
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-soft);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
}

.icon-btn:hover,
.file-btn:hover,
.close:hover,
.favorite-mini:hover {
  color: var(--color-brand-active);
  background: var(--color-brand-faint);
  border-color: rgba(47, 125, 246, 0.32);
  transform: translateY(-1px);
}

.main-nav button {
  gap: 6px;
  color: var(--color-text-soft);
  font-size: 14px;
  font-weight: 760;
}

.main-nav button span {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.main-nav button.active {
  color: var(--color-brand-active);
}

.main-nav .ui-icon,
.top-actions .ui-icon,
.editor-topbar .ui-icon {
  font-size: 18px;
}

input,
textarea,
select,
.input,
.login-input {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  font-weight: 400;
}

input::placeholder,
textarea::placeholder {
  color: var(--color-subtle);
  font-weight: 400;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--color-brand) !important;
  box-shadow: var(--focus-ring) !important;
}

.modal,
.template-content,
.template-inspector,
.ai-workspace,
.ai-form-card,
.ai-result-card,
.ai-preview-side,
.editor-panel-card,
.catalog-card,
.ai-sample-card,
.resume-card {
  border-color: var(--color-border);
  box-shadow: var(--shadow-card);
}

.modal {
  border-radius: var(--radius-xl);
}

.catalog-card:hover,
.ai-sample-card:hover,
.resume-card:hover {
  box-shadow: var(--shadow-card-hover);
}

.danger,
.danger-item {
  color: var(--color-danger) !important;
  background: var(--color-danger-soft) !important;
  border-color: rgba(239, 68, 68, 0.24) !important;
}

/* Design System v27 final overrides: keep this block last */
body {
  background: var(--boss-page);
  color: var(--boss-text);
}

.product-shell,
.grid-bg,
.home-restore-main,
.template-page,
.ai-page,
.mine-main,
.editor-view {
  background: var(--boss-page) !important;
}

.topbar {
  height: 54px;
  padding: 0 42px;
  background: linear-gradient(105deg, var(--boss-nav), var(--boss-nav-mid) 48%, var(--boss-nav-deep));
  border-bottom: 0;
  box-shadow: none;
  color: #ffffff;
  backdrop-filter: none;
}

.brand {
  min-width: 260px;
  gap: 12px;
}

.brand-mark {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 11px;
  box-shadow: none;
}

.brand-name {
  color: rgba(255, 255, 255, 0.96);
  font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 27px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

.helped {
  margin-left: 12px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 400;
}

.helped b {
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
}

.main-nav {
  height: 100%;
  gap: 22px;
}

.main-nav button {
  min-width: auto;
  height: 100%;
  padding: 0 4px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  font-weight: 400;
  box-shadow: none;
}

.main-nav button:hover,
.main-nav button.active {
  color: var(--boss-teal);
  background: transparent !important;
}

.main-nav button::after {
  left: 4px;
  right: 4px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.main-nav button.active::after {
  background: var(--boss-teal);
}

.main-nav .ui-icon {
  display: none;
}

.top-actions .login-entry,
.top-actions .vip,
.top-actions .avatar-btn {
  min-height: 36px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 400;
  box-shadow: none;
}

.home-main,
.template-page,
.ai-page,
.mine-main {
  width: min(1320px, calc(100vw - 52px));
  padding: 28px 0 64px;
}

.template-content,
.template-inspector,
.ai-workspace,
.ai-form-card,
.ai-result-card,
.ai-preview-side,
.filter-panel,
.mine-header,
.resume-card,
.modal,
.editor-panel-card,
.catalog-card,
.ai-sample-card,
.ai-sample-search-panel,
.ai-sample-results,
.editor-sample-generator,
.editor-sample-text-preview,
.home-restore-hero,
.restore-template-panel,
.restore-custom-section,
.restore-feature-section,
.restore-stats-strip,
.restore-final-cta,
.restore-footer-bridge {
  background: var(--boss-surface);
  border: 1px solid var(--boss-line);
  border-radius: 16px;
  box-shadow: var(--boss-card-shadow);
}

.catalog-card:hover,
.ai-sample-card:hover,
.resume-card:hover,
.restore-template-card:hover {
  box-shadow: var(--boss-card-shadow-hover);
}

.primary,
.small-primary,
.login-entry,
.top-mini,
.restore-template-card button,
.restore-more-btn,
.modal-footer .small-primary,
.ai-sample-use,
.sample-apply-btn,
.ai-build-submit,
.ai-sample-search-button,
.export-confirm,
.modal-submit {
  min-height: 44px;
  border-radius: 10px;
  padding: 0 28px;
  background: var(--boss-teal);
  border-color: var(--boss-teal);
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  box-shadow: none;
}

.primary:hover,
.small-primary:hover,
.login-entry:hover,
.top-mini:hover,
.restore-template-card button:hover,
.restore-more-btn:hover,
.modal-footer .small-primary:hover,
.ai-sample-use:hover,
.sample-apply-btn:hover,
.ai-build-submit:hover,
.ai-sample-search-button:hover,
.export-confirm:hover,
.modal-submit:hover {
  background: var(--boss-teal-dark);
  border-color: var(--boss-teal-dark);
  transform: none;
  box-shadow: none;
}

.outline,
.ghost-btn,
.green-outline,
.login-back,
.preview-actions button,
.filter-options button,
.layout-choice button,
.ai-sample-examples button,
.modal-footer button,
.export-cancel,
.sample-regenerate-btn,
.ai-mode-card,
.template-tag,
.pill {
  min-height: 40px;
  border-radius: 10px;
  padding: 0 22px;
  border: 1px solid var(--boss-line-strong);
  background: #ffffff;
  color: var(--boss-text-soft);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  box-shadow: none;
}

.outline:hover,
.ghost-btn:hover,
.green-outline:hover,
.preview-actions button:hover,
.filter-options button:hover,
.layout-choice button:hover,
.ai-sample-examples button:hover,
.modal-footer button:hover,
.export-cancel:hover,
.sample-regenerate-btn:hover,
.ai-mode-card:hover,
.template-tag:hover,
.pill:hover {
  border-color: rgba(47, 125, 246, 0.32);
  background: var(--boss-teal-soft);
  color: var(--boss-teal-dark);
  transform: none;
  box-shadow: none;
}

input,
textarea,
select,
.input,
.login-input,
.ai-build-grid select,
.ai-build-job,
.ai-build-jd,
.ai-sample-search-input,
.export-select,
.export-name-input,
.ai-source-textarea,
.ai-result-textarea {
  border-radius: 8px;
  border: 1px solid #dfe3e8;
  background: #ffffff;
  color: var(--boss-text);
  font-weight: 400;
  box-shadow: none;
}

input::placeholder,
textarea::placeholder {
  color: var(--boss-subtle);
  font-weight: 400;
}

input:focus,
textarea:focus,
select:focus,
.input:focus,
.login-input:focus,
.ai-build-job:focus,
.ai-build-jd:focus,
.ai-sample-search-input:focus,
.export-select:focus,
.export-name-input:focus {
  border-color: var(--boss-teal) !important;
  box-shadow: var(--boss-focus) !important;
}

.restore-eyebrow,
.restore-section-head span,
.restore-custom-copy span,
.ai-title .eyebrow,
.ai-sample-badge {
  color: var(--boss-teal-dark);
  background: var(--boss-teal-soft);
  border-radius: 8px;
  font-weight: 500;
}

.restore-hero-copy h1,
.ai-title h1,
.mine-header h1,
.catalog-title-line h3,
.resume-card h3,
.ai-sample-card h3,
.side-heading h2,
.editor-panel-card h3,
.section-head h3,
.modal h2,
.modal-title {
  font-weight: 600;
  letter-spacing: 0;
}

.filter-options button.active,
.layout-choice button.active,
.ai-mode-card.active {
  border-color: rgba(47, 125, 246, 0.46);
  background: var(--boss-teal-soft);
  color: var(--boss-teal-dark);
  font-weight: 500;
}

.catalog-preview,
.resume-thumb,
.ai-sample-preview {
  border-radius: 14px;
  border: 1px solid var(--boss-line);
  background: #f8f9fb;
}

.editor-topbar {
  height: 56px;
  background: linear-gradient(105deg, var(--boss-nav), var(--boss-nav-mid) 48%, var(--boss-nav-deep));
  border-bottom: 0;
  color: #ffffff;
  box-shadow: none;
}

.editor-topbar .icon-btn,
.editor-topbar .file-btn,
.editor-topbar .top-mini,
.doc-title-btn,
.saved {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.86);
  font-weight: 400;
  box-shadow: none;
}

.editor-body {
  height: calc(100vh - 56px);
  grid-template-columns: minmax(680px, 1fr) minmax(460px, 520px);
  background: var(--boss-page);
}

.canvas-area {
  background: var(--boss-page);
  padding: 40px 110px 80px 30px;
}

.side-panel {
  background: #ffffff;
  border-left: 1px solid var(--boss-line);
  box-shadow: -8px 0 24px rgba(31, 41, 55, 0.04);
}

.editor-panel-card,
.editor-module-card,
.ai-card,
.analysis-summary-card,
.export-option-card,
.layout-card {
  background: #ffffff;
  border: 1px solid var(--boss-line);
  border-radius: 16px;
  box-shadow: none;
}

.ai-strip {
  border: 1px solid rgba(47, 125, 246, 0.26);
  border-radius: 14px;
  background: var(--boss-soft-tint);
  box-shadow: none;
}

.modal-mask {
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(5px);
}

.modal {
  border-radius: 16px;
  border: 1px solid var(--boss-line);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
}

.modal-footer {
  border-top: 1px solid #eef0f3;
}

/* Design System v28.2: make white resume PNG thumbnails readable in compact cards */
.catalog-preview {
  background:
    linear-gradient(180deg, #f8fafc 0%, #ffffff 46%, #f8fafc 100%);
  border: 1px solid rgba(203, 213, 225, 0.72);
}

.catalog-preview .template-thumb-img {
  transform: scale(1.15);
  transform-origin: top center;
  filter: contrast(1.045) saturate(1.025);
}

.catalog-card:hover .catalog-preview .template-thumb-img {
  transform: scale(1.19);
}

.catalog-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.035);
}

/* Homepage v29: BOSS-inspired AI tech landing */
.home-tech-main {
  width: min(1440px, calc(100vw - 40px));
  padding: 24px 0 64px;
}

.home-tech-hero {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(90deg, rgba(6, 19, 38, 0.88), rgba(11, 43, 92, 0.58) 48%, rgba(236, 243, 253, 0.1)),
    linear-gradient(135deg, #081c3b 0%, #0b2f65 50%, #e8f1ff 100%);
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.16);
  isolation: isolate;
}

.home-tech-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.065) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.78), rgba(0,0,0,0.45), rgba(0,0,0,0.15));
}

.home-tech-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 150px;
  background: linear-gradient(180deg, transparent, rgba(238, 242, 248, 0.96));
  pointer-events: none;
}

.home-tech-copy {
  position: relative;
  z-index: 4;
  max-width: 620px;
  padding: 118px 0 0 70px;
  color: #ffffff;
  animation: techHeroTextIn 0.72s cubic-bezier(.2,.8,.2,1) both;
}

.tech-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(141, 183, 245, 0.42);
  border-radius: 999px;
  background: rgba(4, 50, 120, 0.26);
  color: #bfd9ff;
  font-size: 14px;
  font-weight: 500;
}

.home-tech-copy h1 {
  margin: 24px 0 0;
  max-width: 600px;
  color: #ffffff;
  font-size: clamp(48px, 5vw, 78px);
  line-height: 1.04;
  font-weight: 650;
  letter-spacing: 0;
  text-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.home-tech-copy p {
  max-width: 620px;
  margin: 26px 0 0;
  color: rgba(236, 243, 253, 0.86);
  font-size: 20px;
  line-height: 1.85;
  font-weight: 400;
}

.home-tech-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.tech-primary,
.tech-secondary {
  min-height: 52px;
  border-radius: 12px;
  padding: 0 34px;
  font-size: 18px;
  font-weight: 450;
}

.tech-primary {
  background: #5593f0;
  border-color: #5593f0;
  color: #071935;
  box-shadow: 0 18px 40px rgba(45, 112, 212, 0.25);
}

.tech-primary:hover {
  background: #387ee6;
  border-color: #387ee6;
  color: #06162f;
}

.tech-secondary {
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.tech-secondary:hover {
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.14);
}

.home-tech-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.home-tech-proof span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.11);
  color: rgba(240, 245, 253, 0.9);
  font-size: 14px;
  font-weight: 400;
  backdrop-filter: blur(10px);
}

.home-tech-proof b {
  color: #a7c5f3;
  font-weight: 650;
}

.home-tech-scene {
  position: absolute;
  inset: 34px 34px 34px 46%;
  z-index: 1;
  pointer-events: none;
}

.tech-editor-window {
  position: absolute;
  right: 16px;
  top: 42px;
  width: min(690px, 48vw);
  height: 480px;
  overflow: hidden;
  border: 1px solid rgba(190, 242, 100, 0.2);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.14);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(12px);
  animation: techPanelIn 0.84s cubic-bezier(.2,.8,.2,1) both;
}

.tech-window-bar {
  height: 58px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  background: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
}

.tech-window-bar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.54);
}

.tech-window-bar b {
  margin-left: 8px;
  font-weight: 500;
}

.tech-editor-body {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 18px;
  height: calc(100% - 58px);
  padding: 18px;
}

.tech-form-panel,
.tech-paper-panel {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
}

.tech-form-panel {
  padding: 22px;
}

.tech-form-panel i {
  display: block;
  height: 42px;
  margin-bottom: 16px;
  border-radius: 10px;
  background: linear-gradient(90deg, #dfe9f8, #ffffff);
  border: 1px solid rgba(203, 213, 225, 0.6);
}

.tech-form-panel i:nth-child(2) {
  width: 72%;
}

.tech-form-panel i:nth-child(3) {
  height: 130px;
}

.tech-form-panel i:nth-child(4) {
  width: 48%;
  background: #2f7df6;
}

.tech-paper-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  opacity: 0.96;
}

.scan-line {
  position: absolute;
  left: 0;
  right: 0;
  top: -20%;
  height: 80px;
  background: linear-gradient(180deg, transparent, rgba(34, 116, 238, 0.26), transparent);
  animation: techScan 4.4s ease-in-out infinite;
}

.tech-float-template {
  position: absolute;
  width: 178px;
  aspect-ratio: 210 / 297;
  object-fit: cover;
  object-position: top center;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.22);
  opacity: 0.78;
  animation: techFloat 7s ease-in-out infinite;
}

.tech-float-template.t1 {
  right: 570px;
  top: 130px;
  transform: rotate(-8deg) scale(0.74);
}

.tech-float-template.t2 {
  right: 80px;
  top: 14px;
  transform: rotate(7deg) scale(0.58);
  animation-delay: -2s;
}

.tech-float-template.t3 {
  right: 440px;
  bottom: 34px;
  transform: rotate(5deg) scale(0.64);
  animation-delay: -3.5s;
}

.tech-float-template.t4 {
  right: 0;
  bottom: 46px;
  transform: rotate(-5deg) scale(0.7);
  animation-delay: -1s;
}

.tech-ring {
  position: absolute;
  border: 1px solid rgba(190, 242, 100, 0.22);
  transform: rotate(-14deg);
}

.tech-ring.one {
  right: 42px;
  top: 24px;
  width: 260px;
  height: 140px;
}

.tech-ring.two {
  right: 410px;
  bottom: 52px;
  width: 210px;
  height: 90px;
}

.home-tech-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.home-tech-trust div,
.home-tech-section,
.home-tech-final {
  border: 1px solid var(--boss-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--boss-card-shadow);
}

.home-tech-trust div {
  min-height: 104px;
  padding: 22px 24px;
}

.home-tech-trust b,
.home-tech-trust span {
  display: block;
}

.home-tech-trust b {
  color: #0f172a;
  font-size: 28px;
  font-weight: 650;
}

.home-tech-trust span {
  margin-top: 8px;
  color: #667085;
  font-size: 15px;
}

.home-tech-section {
  margin-top: 18px;
  padding: 30px;
}

.home-tech-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.home-tech-section-head span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #1f63d6;
  font-size: 13px;
  font-weight: 500;
}

.home-tech-section-head h2 {
  margin: 10px 0 0;
  color: #0f172a;
  font-size: 32px;
  line-height: 1.25;
  font-weight: 650;
}

.home-tech-section-head button {
  min-height: 42px;
  border-radius: 10px;
  border: 1px solid #cfd9e9;
  background: #ffffff;
  color: #1f63d6;
  padding: 0 20px;
  font-size: 15px;
  font-weight: 450;
}

.home-tech-template-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-tech-template-card {
  overflow: hidden;
  border: 1px solid rgba(203, 213, 225, 0.72);
  border-radius: 18px;
  background: #ffffff;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.home-tech-template-card:hover {
  transform: translateY(-4px);
  border-color: rgba(47, 125, 246, 0.28);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.1);
}

.home-tech-template-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1.24;
  object-fit: cover;
  object-position: top center;
  background: #f8fafc;
}

.home-tech-template-card div {
  padding: 18px;
}

.home-tech-template-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: 21px;
  font-weight: 650;
}

.home-tech-template-card p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
}

.home-tech-template-card span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #667085;
  font-size: 13px;
}

.home-tech-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.home-tech-feature-card {
  min-height: 286px;
  padding: 24px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(240, 245, 253, 0.74), #ffffff 42%);
}

.feature-badge {
  width: fit-content;
  padding: 7px 10px;
  border-radius: 10px;
  background: #0f3876;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
}

.home-tech-feature-card h3 {
  margin: 18px 0 0;
  color: #0f172a;
  font-size: 23px;
  font-weight: 650;
}

.home-tech-feature-card p {
  margin: 10px 0 0;
  color: #667085;
  line-height: 1.7;
}

.feature-metric {
  margin-top: 18px;
  padding: 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.feature-metric b {
  color: #0043a8;
  font-size: 25px;
  font-weight: 650;
}

.feature-metric span {
  margin-left: 8px;
  color: #667085;
  font-size: 14px;
}

.home-tech-feature-card ul,
.home-tech-steps p {
  margin: 16px 0 0;
  padding: 0;
}

.home-tech-feature-card li {
  list-style: none;
  margin-top: 8px;
  color: #4b5563;
  font-size: 14px;
}

.home-tech-feature-card li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 2px;
  background: #1054b9;
  vertical-align: 2px;
}

.home-tech-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.home-tech-steps article {
  position: relative;
  min-height: 178px;
  padding: 22px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #ffffff;
}

.home-tech-steps article::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, #2f7df6, #9be15d);
}

.home-tech-steps b {
  color: #0043a8;
  font-size: 15px;
}

.home-tech-steps h3 {
  margin: 16px 0 0;
  color: #0f172a;
  font-size: 22px;
  font-weight: 650;
}

.home-tech-steps p {
  color: #667085;
  line-height: 1.75;
}

.home-tech-final {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 18px;
  padding: 34px;
  background:
    linear-gradient(120deg, rgba(6, 35, 78, 0.96), rgba(47, 125, 246, 0.88)),
    #06234e;
  color: #ffffff;
}

.home-tech-final span {
  color: #a7c5f3;
  font-size: 14px;
  font-weight: 500;
}

.home-tech-final h2 {
  margin: 8px 0 0;
  font-size: 34px;
  font-weight: 650;
}

.home-tech-final p {
  margin: 10px 0 0;
  color: rgba(236, 243, 253, 0.82);
  font-size: 17px;
}

@keyframes techHeroTextIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes techPanelIn {
  from { opacity: 0; transform: translateY(26px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes techScan {
  0%, 18% { top: -22%; opacity: 0; }
  28% { opacity: 1; }
  70% { opacity: 0.88; }
  100% { top: 108%; opacity: 0; }
}

@keyframes techFloat {
  0%, 100% { margin-top: 0; }
  50% { margin-top: -12px; }
}

/* Homepage v30: cv.zhipin-inspired product homepage, rebranded for Sloth AI */
.boss-cv-shell {
  background:
    linear-gradient(180deg, rgba(225, 234, 248, 0.92) 0, rgba(245, 249, 252, 0.96) 420px, #f4f7fb 100%);
}

.boss-cv-shell .topbar {
  height: 66px;
  border-bottom: 0;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(18px);
}

.boss-cv-shell .brand-name {
  font-weight: 650;
}

.boss-cv-shell .helped {
  font-weight: 400;
}

.boss-cv-shell .main-nav button {
  min-height: 66px;
  border-radius: 0;
  padding: 0 17px;
  color: #243244;
  font-size: 15px;
  font-weight: 450;
}

.boss-cv-shell .main-nav button.active,
.boss-cv-shell .main-nav button:hover {
  background: transparent;
  color: #0044a9;
}

.boss-cv-shell .main-nav button::after {
  height: 3px;
  border-radius: 999px;
  background: #2f7df6;
}

.boss-cv-shell .vip,
.boss-cv-shell .login-entry {
  min-height: 38px;
  border-radius: 999px;
  font-weight: 450;
}

.boss-cv-home {
  width: min(1440px, calc(100vw - 48px));
  margin: 0 auto;
  padding: 28px 0 64px;
}

.boss-cv-hero {
  position: relative;
  overflow: hidden;
  min-height: 680px;
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(236, 243, 253, 0.96), rgba(236, 243, 253, 0.72) 42%, rgba(255, 255, 255, 0.8)),
    linear-gradient(180deg, #e4edfb, #f7fafc);
  box-shadow: 0 18px 58px rgba(15, 23, 42, 0.08);
}

.boss-cv-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(47, 125, 246, 0.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 125, 246, 0.075) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.72;
}

.boss-cv-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  background: linear-gradient(180deg, transparent, rgba(244, 247, 251, 0.95));
}

.boss-cv-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr) 290px;
  gap: 22px;
  padding: 54px 42px 44px;
}

.boss-cv-copy {
  padding-top: 34px;
  animation: bossCvRise 0.58s cubic-bezier(.2,.8,.2,1) both;
}

.boss-cv-kicker {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(47, 125, 246, 0.11);
  color: #1f63d6;
  font-size: 14px;
  font-weight: 500;
}

.boss-cv-copy h1 {
  margin: 22px 0 0;
  color: #111827;
  font-size: 56px;
  line-height: 1.12;
  font-weight: 650;
  letter-spacing: 0;
}

.boss-cv-copy p {
  margin: 22px 0 0;
  color: #5e6b7e;
  font-size: 18px;
  line-height: 1.85;
  font-weight: 400;
}

.boss-cv-actions {
  display: flex;
  gap: 14px;
  margin-top: 30px;
}

.boss-cv-primary,
.boss-cv-secondary,
.boss-cv-final button {
  min-height: 48px;
  border-radius: 8px;
  padding: 0 30px;
  border: 1px solid #2f7df6;
  font-size: 17px;
  font-weight: 450;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.boss-cv-primary,
.boss-cv-final button {
  background: #2f7df6;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(47, 125, 246, 0.2);
}

.boss-cv-secondary {
  background: #ffffff;
  color: #0044a9;
}

.boss-cv-primary:hover,
.boss-cv-secondary:hover,
.boss-cv-final button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(47, 125, 246, 0.24);
}

.boss-cv-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 34px;
}

.boss-cv-stats div {
  padding: 15px 12px;
  border: 1px solid rgba(47, 125, 246, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}

.boss-cv-stats b,
.boss-cv-stats span {
  display: block;
}

.boss-cv-stats b {
  color: #0044a9;
  font-size: 21px;
  font-weight: 650;
}

.boss-cv-stats span {
  margin-top: 4px;
  color: #667085;
  font-size: 13px;
}

.boss-cv-workbench {
  position: relative;
  min-height: 580px;
  overflow: hidden;
  border: 1px solid rgba(221, 231, 239, 0.9);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 28px 72px rgba(15, 23, 42, 0.13);
  animation: bossCvPanel 0.72s cubic-bezier(.2,.8,.2,1) 0.06s both;
}

.boss-cv-window-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 58px;
  padding: 0 24px;
  border-bottom: 1px solid #eef2f6;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.boss-cv-window-bar span {
  color: #98a2b3;
  font-size: 16px;
  font-weight: 400;
}

.boss-cv-window-bar div {
  display: flex;
  gap: 18px;
}

.boss-cv-window-bar button {
  border: 0;
  background: transparent;
  color: #0044a9;
  font-size: 15px;
  font-weight: 450;
  cursor: pointer;
}

.boss-cv-paper {
  position: absolute;
  left: 34px;
  right: 34px;
  top: 88px;
  bottom: 40px;
  padding: 34px 36px;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 14px 42px rgba(15, 23, 42, 0.08);
}

.paper-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 22px;
  border-bottom: 1px solid #edf2f7;
}

.paper-head h2 {
  margin: 0;
  color: #101828;
  font-size: 32px;
  font-weight: 650;
}

.paper-head p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 15px;
}

.paper-avatar {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  border: 4px solid #f0f5fd;
  background:
    radial-gradient(circle at 36% 30%, #ffffff 0 10%, transparent 11%),
    linear-gradient(135deg, #dfe9f8, #f8fbff);
  color: #0044a9;
  font-size: 24px;
  font-weight: 650;
  box-shadow: inset 0 0 0 1px rgba(47, 125, 246, 0.14);
}

.paper-section {
  position: relative;
  margin-top: 26px;
  padding-left: 18px;
}

.paper-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 3px;
  width: 5px;
  border-radius: 999px;
  background: #2f7df6;
}

.paper-section b {
  display: block;
  color: #1f2329;
  font-size: 21px;
  font-weight: 600;
}

.paper-section p {
  margin: 10px 0 0;
  color: #475467;
  font-size: 15px;
  line-height: 1.75;
}

.paper-tags span {
  display: inline-flex;
  margin-right: 8px;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eff3fa;
  color: #1f63d6;
}

.boss-cv-editor-card {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 260px;
  padding: 18px;
  border: 1px solid rgba(47, 125, 246, 0.22);
  border-radius: 14px;
  background: rgba(247, 250, 255, 0.96);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.1);
}

.boss-cv-editor-card span {
  color: #0044a9;
  font-size: 15px;
  font-weight: 600;
}

.boss-cv-editor-card p {
  margin: 8px 0 14px;
  color: #667085;
  font-size: 13px;
  line-height: 1.6;
}

.boss-cv-editor-card button,
.boss-cv-side-card button,
.boss-cv-section-head button {
  min-height: 34px;
  border-radius: 7px;
  border: 1px solid #2f7df6;
  background: #2f7df6;
  color: #ffffff;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 450;
  cursor: pointer;
}

.boss-cv-side {
  display: grid;
  gap: 16px;
  animation: bossCvPanel 0.72s cubic-bezier(.2,.8,.2,1) 0.12s both;
}

.boss-cv-side-card {
  overflow: hidden;
  border: 1px solid rgba(221, 231, 239, 0.96);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.boss-cv-side-card h3 {
  margin: 0;
  color: #101828;
  font-size: 21px;
  font-weight: 650;
}

.boss-cv-side-card p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.65;
}

.primary-card {
  padding: 22px;
  background: linear-gradient(180deg, #e8f1ff, #ffffff);
}

.primary-card button {
  width: 100%;
  margin-top: 18px;
  min-height: 42px;
}

.template-card div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 18px 0;
}

.template-card button {
  border: 0;
  background: transparent;
  color: #0044a9;
  padding: 0;
}

.template-card img {
  display: block;
  width: calc(100% - 36px);
  height: 196px;
  margin: 16px 18px 18px;
  object-fit: cover;
  object-position: top center;
  border-radius: 12px;
  border: 1px solid #edf2f7;
}

.score-card {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 20px;
}

.score-card b {
  display: block;
  color: #0044a9;
  font-size: 38px;
  line-height: 1;
  font-weight: 650;
}

.score-card span {
  display: block;
  margin-top: 4px;
  color: #667085;
  font-size: 13px;
}

.boss-cv-quick,
.boss-cv-template-grid,
.boss-cv-feature-grid,
.boss-cv-flow {
  display: grid;
  gap: 18px;
}

.boss-cv-quick {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.boss-cv-quick-card,
.boss-cv-section,
.boss-cv-flow article,
.boss-cv-final {
  border: 1px solid rgba(221, 231, 239, 0.96);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06);
}

.boss-cv-quick-card {
  min-height: 108px;
  padding: 24px;
  text-align: left;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.boss-cv-quick-card:hover,
.boss-cv-template-card:hover,
.boss-cv-flow article:hover {
  transform: translateY(-3px);
  border-color: rgba(47, 125, 246, 0.34);
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.09);
}

.boss-cv-quick-card span {
  display: block;
  color: #101828;
  font-size: 20px;
  font-weight: 600;
}

.boss-cv-quick-card b {
  display: block;
  margin-top: 10px;
  color: #667085;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 400;
}

.boss-cv-section {
  margin-top: 18px;
  padding: 30px;
}

.boss-cv-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.boss-cv-section-head span {
  color: #0044a9;
  font-size: 15px;
  font-weight: 500;
}

.boss-cv-section-head h2 {
  margin: 8px 0 0;
  color: #101828;
  font-size: 31px;
  line-height: 1.32;
  font-weight: 650;
}

.boss-cv-section-head button {
  min-height: 40px;
  background: #ffffff;
  color: #0044a9;
}

.boss-cv-template-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.boss-cv-template-card {
  overflow: hidden;
  border: 1px solid #e4eaf1;
  border-radius: 16px;
  background: #ffffff;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.template-shot {
  height: 320px;
  margin: 14px;
  overflow: hidden;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
}

.template-shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.boss-cv-template-card h3,
.boss-cv-template-card span,
.boss-cv-template-card p {
  margin-left: 18px;
  margin-right: 18px;
}

.boss-cv-template-card h3 {
  margin-top: 16px;
  margin-bottom: 0;
  color: #101828;
  font-size: 22px;
  font-weight: 650;
}

.boss-cv-template-card span {
  display: block;
  margin-top: 8px;
  color: #0044a9;
  font-size: 14px;
}

.boss-cv-template-card p {
  margin-top: 8px;
  margin-bottom: 20px;
  color: #667085;
  font-size: 14px;
  line-height: 1.65;
}

.boss-cv-feature-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.boss-cv-feature-grid article {
  min-height: 210px;
  padding: 24px;
  border-radius: 16px;
  background: linear-gradient(180deg, #f4f8ff, #ffffff 58%);
  border: 1px solid #dde6f3;
}

.boss-cv-feature-grid span {
  color: #0044a9;
  font-size: 14px;
  font-weight: 650;
}

.boss-cv-feature-grid h3 {
  margin: 18px 0 0;
  color: #101828;
  font-size: 23px;
  font-weight: 650;
}

.boss-cv-feature-grid p {
  margin: 12px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.72;
}

.boss-cv-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}

.boss-cv-flow article {
  min-height: 150px;
  padding: 24px;
}

.boss-cv-flow b {
  color: #0044a9;
  font-size: 14px;
}

.boss-cv-flow h3 {
  margin: 16px 0 0;
  color: #101828;
  font-size: 22px;
  font-weight: 650;
}

.boss-cv-flow p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.7;
}

.boss-cv-final {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
  padding: 34px 38px;
  background: linear-gradient(90deg, #e8f1ff, #ffffff);
}

.boss-cv-final h2 {
  margin: 0;
  color: #101828;
  font-size: 30px;
  font-weight: 650;
}

@keyframes bossCvRise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes bossCvPanel {
  from { opacity: 0; transform: translateY(24px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 1180px) {
  .boss-cv-hero-inner {
    grid-template-columns: 1fr;
  }

  .boss-cv-copy {
    max-width: 720px;
    padding-top: 0;
  }

  .boss-cv-copy h1 {
    font-size: 48px;
  }

  .boss-cv-workbench {
    min-height: 560px;
  }

  .boss-cv-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .template-card img {
    height: 150px;
  }

  .boss-cv-template-grid,
  .boss-cv-feature-grid,
  .boss-cv-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .boss-cv-home {
    width: min(100% - 28px, 1440px);
    padding-top: 18px;
  }

  .boss-cv-hero {
    border-radius: 20px;
  }

  .boss-cv-hero-inner {
    padding: 32px 18px 24px;
  }

  .boss-cv-copy h1 {
    font-size: 38px;
  }

  .boss-cv-copy p {
    font-size: 16px;
  }

  .boss-cv-actions,
  .boss-cv-final,
  .boss-cv-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .boss-cv-primary,
  .boss-cv-secondary,
  .boss-cv-final button {
    width: 100%;
  }

  .boss-cv-stats,
  .boss-cv-quick,
  .boss-cv-side,
  .boss-cv-template-grid,
  .boss-cv-feature-grid,
  .boss-cv-flow {
    grid-template-columns: 1fr;
  }

  .boss-cv-workbench {
    min-height: 560px;
  }

  .boss-cv-window-bar {
    height: auto;
    padding: 14px;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .boss-cv-paper {
    left: 16px;
    right: 16px;
    top: 92px;
    bottom: 130px;
    padding: 22px;
  }

  .paper-avatar {
    width: 58px;
    height: 58px;
    font-size: 18px;
  }

  .paper-head h2 {
    font-size: 26px;
  }

  .paper-section {
    margin-top: 18px;
  }

  .paper-section b {
    font-size: 18px;
  }

  .paper-section p {
    font-size: 13px;
  }

  .boss-cv-editor-card {
    left: 16px;
    right: 16px;
    bottom: 16px;
    width: auto;
  }

  .boss-cv-section,
  .boss-cv-final {
    padding: 22px;
  }

  .template-shot {
    height: 360px;
  }
}

@media (max-width: 900px) {
  .topbar {
    height: auto;
    min-height: 54px;
    padding: 10px 16px;
    gap: 10px;
  }

  .brand {
    min-width: 0;
  }

  .helped {
    display: none;
  }

  .main-nav {
    gap: 10px;
  }

  .main-nav button {
    font-size: 13px;
  }

  .home-main,
  .template-page,
  .ai-page,
  .mine-main {
    width: min(100% - 28px, 1320px);
    padding-top: 18px;
  }

  .editor-body {
    grid-template-columns: 1fr;
  }

  .canvas-area {
    padding: 22px 16px 40px;
  }

  .side-panel {
    border-left: 0;
    box-shadow: none;
  }

  .home-tech-main {
    width: min(100% - 28px, 1320px);
    padding-top: 18px;
  }

  .home-tech-hero {
    min-height: 720px;
  }

  .home-tech-copy {
    padding: 52px 24px 0;
  }

  .home-tech-copy h1 {
    font-size: 44px;
  }

  .home-tech-copy p {
    font-size: 16px;
  }

  .home-tech-scene {
    inset: auto 16px 34px 16px;
    height: 330px;
  }

  .tech-editor-window {
    right: 0;
    top: 20px;
    width: 100%;
    height: 300px;
  }

  .tech-float-template,
  .tech-ring {
    display: none;
  }

  .home-tech-trust,
  .home-tech-template-rail,
  .home-tech-feature-grid,
  .home-tech-steps {
    grid-template-columns: 1fr;
  }

  .home-tech-section-head,
  .home-tech-final {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-tech-section-head h2,
  .home-tech-final h2 {
    font-size: 28px;
  }
}

/* Full-screen resume motion hero v32 */
.boss-cv-shell {
  background: #071f3e;
}

.boss-cv-shell .topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  width: min(1360px, calc(100% - 56px));
  height: 64px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.boss-cv-shell .brand {
  height: 44px;
  gap: 10px;
  min-width: 240px;
  align-items: center;
  color: rgba(255, 255, 255, 0.94);
}

.boss-cv-shell .brand-mark {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
}

.boss-cv-shell .brand-name {
  color: rgba(255, 255, 255, 0.95);
  font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 18px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0;
}

.boss-cv-shell .helped {
  display: none;
}

.boss-cv-shell .main-nav {
  gap: 24px;
}

.boss-cv-shell .main-nav button {
  min-height: 64px;
  padding: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 430;
}

.boss-cv-shell .main-nav button span {
  display: none;
}

.boss-cv-shell .main-nav button.active,
.boss-cv-shell .main-nav button:hover {
  color: #ffffff;
}

.boss-cv-shell .main-nav button::after {
  bottom: 11px;
  height: 3px;
  background: transparent;
  box-shadow: none;
}

.boss-cv-shell .main-nav button.active::after,
.boss-cv-shell .main-nav button:hover::after {
  background: #9af35a;
  box-shadow: 0 0 12px rgba(154, 243, 90, 0.72);
}

.boss-cv-shell .top-actions {
  min-width: 244px;
  height: 44px;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}

.boss-cv-shell .vip,
.boss-cv-shell .login-entry {
  height: 40px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 999px;
  border-color: rgba(169, 255, 90, 0.78);
  background: rgba(15, 45, 71, 0.64);
  color: #b9ff67;
  padding: 0 17px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}

.boss-cv-shell .vip .ui-icon,
.boss-cv-shell .login-entry .ui-icon {
  width: 16px;
  height: 16px;
}

.boss-cv-shell .avatar {
  position: relative;
  width: auto;
  height: 40px;
  min-height: 40px;
  padding: 0 10px 0 7px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(15, 45, 71, 0.64);
  border: 1px solid rgba(32, 116, 242, 0.46);
  color: #ffffff;
  font-weight: 700;
  box-shadow: none;
}

.boss-cv-shell .avatar::after {
  content: none;
}

.boss-cv-shell .avatar-glyph {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(145deg, #5aa2ff, #2f7ff5 54%, #7b38f6);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.44);
}

.boss-cv-shell .avatar-glyph .ui-icon {
  width: 15px;
  height: 15px;
  stroke-width: 2.4;
}

.boss-cv-shell .avatar-state {
  color: #d8e8ff;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

.boss-cv-home {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 72px;
  background:
    linear-gradient(180deg, #071f3e 0, #06162f 720px, #030716 100%);
}

.boss-cv-hero {
  position: relative;
  min-height: clamp(680px, 100svh, 980px);
  border-radius: 0;
  background:
    linear-gradient(135deg, #12385e 0%, #0b2b50 48%, #07306e 100%);
  box-shadow: none;
  overflow: hidden;
}

.boss-cv-hero::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), rgba(26, 104, 221, 0.08) 52%, rgba(255, 255, 255, 0));
  background-size: 100% 100%;
  opacity: 0.72;
}

.boss-cv-hero::after {
  height: 48%;
  background: linear-gradient(180deg, transparent, rgba(5, 28, 57, 0.18) 44%, rgba(5, 28, 57, 0.44));
}

.boss-cv-hero-inner {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  min-height: clamp(680px, 100svh, 980px);
  grid-template-columns: 1fr;
  padding: 96px 24px 86px;
}

.boss-cv-copy {
  width: min(900px, 100%);
  padding: 0;
  text-align: center;
  animation: bossCvRise 0.7s cubic-bezier(.2,.8,.2,1) both;
}

.boss-cv-kicker {
  height: 34px;
  border: 1px solid rgba(185, 255, 103, 0.48);
  background: rgba(12, 38, 66, 0.58);
  color: #b9ff67;
  font-size: 14px;
  font-weight: 450;
  backdrop-filter: blur(10px);
}

.boss-cv-copy h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(62px, 7.4vw, 118px);
  line-height: 1.08;
  font-weight: 760;
  text-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}

.boss-cv-copy h1::first-line {
  color: #ffffff;
}

.boss-cv-copy p {
  max-width: 620px;
  margin: 28px auto 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: 1.7;
  font-weight: 380;
}

.boss-cv-actions {
  justify-content: center;
  margin-top: 44px;
}

.boss-cv-primary {
  position: relative;
  overflow: hidden;
  min-height: 58px;
  border: 0;
  border-radius: 999px;
  padding: 0 38px;
  background: linear-gradient(90deg, #a8fb59, #1864d6);
  color: #08253f;
  font-size: 18px;
  font-weight: 560;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.18) inset,
    0 0 28px rgba(154, 243, 90, 0.34),
    0 22px 54px rgba(36, 107, 214, 0.34);
  animation: ctaGlowPulse 3.8s ease-in-out infinite;
}

.boss-cv-primary::before {
  content: "";
  position: absolute;
  inset: -60% auto -60% -52%;
  width: 44%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.62), transparent);
  animation: ctaLightSweep 3.2s ease-in-out infinite;
}

.boss-cv-primary::after {
  content: "";
  position: absolute;
  inset: 7px 12px auto;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0));
  pointer-events: none;
}

.boss-cv-primary:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.24) inset,
    0 0 38px rgba(154, 243, 90, 0.42),
    0 28px 64px rgba(36, 107, 214, 0.42);
}

.resume-hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.resume-process-stage {
  position: absolute;
  inset: 108px 0 56px;
  opacity: 0.9;
}

.resume-process-paper {
  position: absolute;
  left: clamp(80px, 14vw, 250px);
  top: clamp(70px, 12vh, 130px);
  width: min(360px, 21vw);
  aspect-ratio: 0.707;
  overflow: hidden;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 32px 86px rgba(0, 0, 0, 0.28);
  transform: rotate(-3deg);
  opacity: 0.5;
  animation: processPaperFocus 18s ease-in-out infinite;
}

.resume-process-paper img,
.resume-template-switch img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.resume-process-paper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 31, 62, 0.06), rgba(4, 31, 62, 0.24));
}

.resume-scan-beam {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 12%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(154, 243, 90, 0.94), rgba(32, 116, 242, 0.94), transparent);
  box-shadow: 0 0 18px rgba(32, 116, 242, 0.48);
  animation: processScanBeam 18s ease-in-out infinite;
}

.resume-detect {
  position: absolute;
  z-index: 3;
  left: 14%;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  background: rgba(7, 52, 83, 0.78);
  border: 1px solid rgba(32, 116, 242, 0.38);
  color: #dfebfe;
  font-size: 11px;
  font-weight: 700;
  opacity: 0;
  animation: detectPoint 18s ease-in-out infinite;
}

.detect-one { top: 25%; }
.detect-two { top: 47%; animation-delay: 0.45s; }
.detect-three { top: 66%; animation-delay: 0.9s; }

.resume-process-card {
  position: absolute;
  right: clamp(28px, 6vw, 110px);
  top: clamp(110px, 22vh, 210px);
  width: min(360px, 24vw);
  padding: 20px 22px;
  border-radius: 18px;
  background: rgba(4, 28, 54, 0.72);
  border: 1px solid rgba(32, 116, 242, 0.24);
  color: rgba(255, 255, 255, 0.82);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(14px);
  opacity: 0;
  transform: translate3d(16px, 16px, 0);
}

.resume-process-card b {
  display: block;
  margin-bottom: 12px;
  color: #b9ff67;
  font-size: 15px;
  line-height: 1.2;
}

.resume-process-card i {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  line-height: 1.55;
  font-style: normal;
}

.resume-scan-card {
  animation: processScanCard 18s ease-in-out infinite;
}

.resume-ai-card {
  top: clamp(128px, 24vh, 230px);
  animation: processAiCard 18s ease-in-out infinite;
}

.resume-done-card {
  top: clamp(160px, 30vh, 280px);
  width: min(300px, 21vw);
  animation: processDoneCard 18s ease-in-out infinite;
}

.resume-template-switch {
  position: absolute;
  right: clamp(36px, 6vw, 120px);
  top: clamp(96px, 18vh, 180px);
  width: min(310px, 22vw);
  aspect-ratio: 0.707;
  opacity: 0;
  animation: templateDeckShow 18s ease-in-out infinite;
}

.resume-template-switch span {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 30px 76px rgba(0, 0, 0, 0.28);
  opacity: 0;
  transform: translate3d(30px, 22px, 0) rotate(6deg) scale(0.94);
}

.resume-template-switch span:nth-child(1) {
  animation: templateSwapOne 18s ease-in-out infinite;
}

.resume-template-switch span:nth-child(2) {
  animation: templateSwapTwo 18s ease-in-out infinite;
}

.resume-template-switch span:nth-child(3) {
  animation: templateSwapThree 18s ease-in-out infinite;
}

.boss-cv-quick,
.boss-cv-section,
.boss-cv-final {
  width: min(1440px, calc(100vw - 48px));
  margin-left: auto;
  margin-right: auto;
}

.boss-cv-quick {
  margin-top: 32px;
}

.boss-cv-quick-card,
.boss-cv-section,
.boss-cv-flow article,
.boss-cv-final,
.restore-footer-bridge {
  border-color: rgba(92, 133, 162, 0.24);
  background: rgba(5, 18, 39, 0.82);
  box-shadow: none;
}

.boss-cv-quick-card {
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(11, 48, 73, 0.88), rgba(5, 21, 44, 0.88));
}

.boss-cv-quick-card:hover,
.boss-cv-template-card:hover,
.boss-cv-flow article:hover {
  border-color: rgba(32, 116, 242, 0.34);
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.24);
}

.boss-cv-quick-card span,
.boss-cv-section-head h2,
.boss-cv-template-card h3,
.boss-cv-feature-grid h3,
.boss-cv-flow h3,
.boss-cv-final h2,
.boss-cv-tool-panel h2,
.boss-cv-editor-copy h3,
.testimonial-grid span {
  color: #ffffff;
}

.boss-cv-quick-card b,
.boss-cv-section-head p,
.boss-cv-template-card p,
.boss-cv-feature-grid p,
.boss-cv-flow p,
.boss-cv-final p,
.boss-cv-tool-panel p,
.boss-cv-editor-copy p,
.testimonial-grid p,
.restore-footer-bridge span {
  color: rgba(218, 226, 238, 0.72);
}

.boss-cv-detail-head {
  width: min(1180px, calc(100vw - 48px));
  margin: 92px auto 34px;
  text-align: center;
}

.boss-cv-detail-head span,
.boss-cv-section-head span,
.boss-cv-template-card span,
.boss-cv-feature-grid span,
.boss-cv-flow b,
.boss-cv-tool-panel span {
  color: #76acfc;
  font-weight: 760;
}

.boss-cv-detail-head h2 {
  margin: 12px 0 0;
  color: #76acfc;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.12;
  font-weight: 820;
}

.boss-cv-detail-head p {
  width: min(720px, 100%);
  margin: 16px auto 0;
  color: rgba(233, 238, 246, 0.78);
  font-size: 18px;
  line-height: 1.75;
}

.boss-cv-section {
  margin-top: 34px;
  padding: clamp(26px, 3vw, 46px);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(8, 38, 62, 0.86), rgba(4, 14, 32, 0.9));
}

.boss-cv-section-head {
  align-items: flex-start;
}

.boss-cv-section-head h2 {
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.2;
}

.boss-cv-section-head button {
  min-height: 42px;
  border-radius: 999px;
  border-color: rgba(32, 116, 242, 0.56);
  background: transparent;
  color: #76acfc;
}

.boss-cv-section-head.centered {
  justify-content: center;
  text-align: center;
}

.boss-cv-template-tabs {
  display: flex;
  gap: 12px;
  margin-bottom: 26px;
  overflow-x: auto;
  scrollbar-width: none;
}

.boss-cv-template-tabs span {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(234, 240, 250, 0.72);
  background: rgba(255, 255, 255, 0.05);
}

.boss-cv-template-tabs span.active {
  border-color: rgba(118, 172, 252, 0.62);
  color: #05253c;
  background: linear-gradient(90deg, #9af35a, #5aa2ff);
}

.boss-cv-template-card {
  border-color: rgba(122, 161, 185, 0.24);
  background: rgba(255, 255, 255, 0.045);
}

.template-shot {
  height: 360px;
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
}

.boss-cv-editor-showcase {
  overflow: hidden;
}

.boss-cv-editor-layout {
  display: grid;
  grid-template-columns: 0.82fr 1.35fr;
  gap: 28px;
  align-items: stretch;
}

.boss-cv-editor-copy {
  display: grid;
  gap: 14px;
}

.boss-cv-editor-copy article {
  min-height: 132px;
  padding: 22px;
  border: 1px solid rgba(32, 116, 242, 0.18);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.045);
}

.boss-cv-editor-copy b {
  color: #5aa2ff;
  font-size: 13px;
}

.boss-cv-editor-copy h3 {
  margin: 13px 0 0;
  font-size: 22px;
}

.boss-cv-editor-copy p {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.7;
}

.boss-cv-editor-preview {
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(105, 151, 177, 0.3);
  border-radius: 22px;
  background: #091326;
  box-shadow: 0 32px 74px rgba(0, 0, 0, 0.28);
}

.editor-preview-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 54px;
  padding: 0 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(236, 242, 250, 0.72);
}

.editor-preview-toolbar b {
  color: #76acfc;
  font-size: 13px;
}

.editor-preview-body {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 190px;
  gap: 18px;
  padding: 20px;
}

.editor-preview-body nav,
.editor-preview-body aside {
  display: grid;
  align-content: start;
  gap: 10px;
}

.editor-preview-body nav span,
.editor-preview-body aside span {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  color: rgba(229, 235, 245, 0.72);
  background: rgba(255, 255, 255, 0.055);
}

.editor-preview-body nav span.active {
  color: #051e34;
  background: linear-gradient(90deg, #9af35a, #5aa2ff);
}

.editor-preview-paper {
  height: 446px;
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
}

.editor-preview-paper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.editor-preview-body aside {
  padding: 16px;
  border-radius: 14px;
  background: rgba(32, 116, 242, 0.08);
}

.editor-preview-body aside b {
  color: #ffffff;
}

.boss-cv-dual-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 0;
  border: 0;
  background: transparent;
}

.boss-cv-tool-panel {
  min-height: 470px;
  padding: 34px;
  border: 1px solid rgba(92, 133, 162, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(8, 38, 62, 0.86), rgba(4, 14, 32, 0.9));
}

.boss-cv-tool-panel h2 {
  margin: 12px 0 0;
  font-size: 34px;
  line-height: 1.22;
}

.score-dashboard {
  margin-top: 30px;
  display: grid;
  gap: 14px;
}

.score-dashboard strong {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #76acfc;
  font-size: 46px;
  line-height: 1;
  border: 10px solid rgba(32, 116, 242, 0.2);
  box-shadow: inset 0 0 0 8px rgba(118, 172, 252, 0.12);
}

.score-dashboard em {
  margin-top: -10px;
  color: rgba(232, 238, 247, 0.7);
  font-style: normal;
}

.score-dashboard label {
  display: grid;
  grid-template-columns: 92px 1fr 34px;
  gap: 10px;
  align-items: center;
  color: rgba(234, 240, 250, 0.74);
}

.score-dashboard label b {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #9af35a var(--score), rgba(255,255,255,0.12) var(--score));
}

.score-dashboard label i {
  color: #5aa2ff;
  font-style: normal;
}

.interview-questions {
  display: grid;
  gap: 14px;
  margin-top: 30px;
}

.interview-questions article {
  padding: 18px;
  border: 1px solid rgba(32, 116, 242, 0.18);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.045);
}

.interview-questions b {
  color: #76acfc;
}

.interview-questions p {
  margin: 8px 0 0;
  color: rgba(233, 238, 246, 0.78);
  line-height: 1.6;
}

.boss-cv-feature-grid article,
.boss-cv-flow article {
  border-color: rgba(32, 116, 242, 0.16);
  background: rgba(255, 255, 255, 0.045);
}

.boss-cv-feature-grid article {
  min-height: 190px;
}

.boss-cv-testimonials {
  overflow: hidden;
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.testimonial-grid article {
  min-height: 220px;
  padding: 24px;
  border: 1px solid rgba(92, 133, 162, 0.24);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.045);
}

.testimonial-grid div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 4px 12px;
  align-items: center;
}

.testimonial-grid b {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #061f34;
  background: linear-gradient(145deg, #9af35a, #5aa2ff);
}

.testimonial-grid em {
  color: rgba(218, 226, 238, 0.58);
  font-style: normal;
  font-size: 13px;
}

.testimonial-grid p {
  margin: 22px 0 0;
  line-height: 1.72;
}

.boss-cv-final {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(32, 116, 242, 0.18), rgba(154, 243, 90, 0.1)),
    rgba(255, 255, 255, 0.04);
}

.boss-cv-final p {
  grid-column: 1;
  margin: 10px 0 0;
}

.boss-cv-final button {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.restore-footer-bridge {
  color: rgba(230, 236, 246, 0.72);
  background: rgba(2, 8, 20, 0.88);
}

.restore-footer-bridge strong,
.restore-footer-bridge b {
  color: #ffffff;
}

/* Image2 homepage polish v39 */
.boss-cv-home {
  background:
    radial-gradient(circle at 50% 0%, rgba(20, 109, 242, 0.1), transparent 34%),
    linear-gradient(180deg, #020817 0, #030817 46%, #020612 100%);
}

.boss-cv-hero {
  min-height: clamp(680px, 92svh, 900px);
  background:
    linear-gradient(180deg, rgba(4, 15, 32, 0.94), rgba(2, 7, 18, 0.98)),
    linear-gradient(120deg, #06152e 0%, #061a32 58%, #051835 100%);
}

.boss-cv-hero::before {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(21, 105, 230, 0.06), transparent 24%, transparent 74%, rgba(118, 172, 252, 0.05)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 38%);
  opacity: 1;
}

.boss-cv-hero::after {
  height: 34%;
  background: linear-gradient(180deg, transparent, rgba(2, 7, 18, 0.98));
}

.boss-cv-hero-inner {
  width: min(1420px, calc(100vw - 64px));
  margin: 0 auto;
  min-height: clamp(680px, 92svh, 900px);
  grid-template-columns: minmax(260px, 360px) minmax(360px, 1fr) minmax(320px, 400px);
  gap: clamp(34px, 5vw, 78px);
  align-items: center;
  place-items: stretch;
  padding: 112px 0 86px;
}

.hero-resume-preview {
  position: relative;
  align-self: center;
  width: min(100%, 350px);
  aspect-ratio: 0.707;
  overflow: hidden;
  border: 1px solid rgba(32, 116, 242, 0.34);
  border-radius: 18px;
  background: #ffffff;
  box-shadow:
    0 0 0 8px rgba(32, 116, 242, 0.03),
    0 30px 90px rgba(0, 0, 0, 0.46),
    0 0 48px rgba(32, 116, 242, 0.14);
}

.hero-resume-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.hero-resume-preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 20, 38, 0.04), rgba(7, 20, 38, 0.14));
  pointer-events: none;
}

.hero-resume-preview .resume-scan-beam {
  animation-duration: 10s;
}

.hero-resume-preview .resume-detect {
  left: 13%;
  animation-duration: 10s;
}

.boss-cv-copy {
  align-self: center;
  width: 100%;
  text-align: left;
}

.boss-cv-copy h1 {
  font-size: clamp(58px, 7.2vw, 104px);
  line-height: 1.12;
  letter-spacing: 0;
}

.boss-cv-copy h1 span {
  color: #669ff5;
  text-shadow: 0 0 28px rgba(102, 159, 245, 0.22);
}

.boss-cv-copy p {
  margin-left: 0;
  margin-right: 0;
  color: rgba(239, 243, 249, 0.82);
}

.boss-cv-actions {
  justify-content: flex-start;
}

.boss-cv-primary {
  min-height: 64px;
  padding: 0 42px;
  background: linear-gradient(92deg, #a8ff5c 0%, #347be6 58%, #5aa2ff 100%);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.22) inset,
    0 0 30px rgba(95, 159, 255, 0.42),
    0 18px 60px rgba(32, 116, 242, 0.28);
}

.hero-process-panel {
  align-self: center;
  display: grid;
  gap: 16px;
}

.hero-process-panel .resume-process-card {
  position: relative;
  inset: auto;
  width: 100%;
  min-height: 132px;
  opacity: 1;
  transform: none;
  padding: 22px 24px;
  border-radius: 16px;
  background: rgba(5, 14, 31, 0.72);
  border: 1px solid rgba(126, 160, 184, 0.24);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, 0.24),
    0 0 0 1px rgba(255, 255, 255, 0.025) inset;
  backdrop-filter: blur(14px);
  animation: processCardPulse 9s ease-in-out infinite;
}

.hero-process-panel .resume-ai-card {
  animation-delay: 1.2s;
}

.hero-process-panel .resume-done-card {
  animation-delay: 2.4s;
}

.hero-process-panel .resume-process-card b {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #f8fbff;
  font-size: 17px;
}

.hero-process-panel .resume-process-card b em {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #052134;
  background: linear-gradient(135deg, #a8ff5c, #5aa2ff);
  font-size: 12px;
  font-style: normal;
}

.hero-process-panel .resume-process-card i {
  position: relative;
  margin-top: 10px;
  padding-left: 20px;
  color: rgba(238, 242, 248, 0.8);
}

.hero-process-panel .resume-process-card i::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5aa2ff;
  box-shadow: 0 0 12px rgba(32, 116, 242, 0.48);
}

.process-arrow {
  width: 1px;
  height: 28px;
  justify-self: center;
  background: linear-gradient(180deg, rgba(32, 116, 242, 0.1), rgba(32, 116, 242, 0.7));
  position: relative;
}

.process-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2px;
  width: 9px;
  height: 9px;
  border-right: 2px solid rgba(32, 116, 242, 0.78);
  border-bottom: 2px solid rgba(32, 116, 242, 0.78);
  transform: translateX(-50%) rotate(45deg);
}

.resume-template-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 16px;
}

.resume-template-strip img {
  width: 100%;
  aspect-ratio: 0.707;
  border-radius: 8px;
  object-fit: cover;
  object-position: top center;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.resume-template-strip img:nth-child(2) {
  transform: translateY(-6px);
  outline: 2px solid rgba(32, 116, 242, 0.72);
}

.boss-cv-detail-head {
  margin: 74px auto 28px;
}

.boss-cv-detail-head h2,
.boss-cv-section-head h2,
.boss-cv-final h2 {
  text-shadow: 0 0 28px rgba(102, 159, 245, 0.12);
}

.boss-cv-detail-head h2 {
  color: #76adff;
}

.boss-cv-detail-stats {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  color: rgba(232, 238, 246, 0.72);
}

.boss-cv-detail-stats span {
  color: rgba(232, 238, 246, 0.72);
  font-weight: 520;
}

.boss-cv-detail-stats i {
  width: 1px;
  height: 14px;
  background: rgba(232, 238, 246, 0.28);
}

.boss-cv-section,
.boss-cv-tool-panel,
.boss-cv-final {
  border: 1px solid rgba(111, 143, 168, 0.2);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(9, 24, 45, 0.9), rgba(3, 10, 24, 0.92));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.2);
}

.boss-cv-section {
  margin-top: 22px;
}

.boss-cv-section-head {
  margin-bottom: 30px;
}

.boss-cv-section-head h2 {
  margin-top: 8px;
}

.boss-cv-templates {
  padding-top: 36px;
}

.boss-cv-template-tabs {
  justify-content: center;
  margin-bottom: 30px;
}

.boss-cv-template-card {
  padding: 14px 14px 20px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(22, 38, 60, 0.82), rgba(8, 17, 32, 0.9));
}

.template-shot {
  position: relative;
  height: 330px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02));
}

.template-shot::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(5, 12, 24, 0.72));
  pointer-events: none;
}

.boss-cv-editor-showcase {
  background:
    radial-gradient(circle at 74% 42%, rgba(32, 116, 242, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(9, 25, 47, 0.94), rgba(3, 10, 24, 0.94));
}

.boss-cv-editor-layout {
  grid-template-columns: 0.56fr 1.44fr;
}

.boss-cv-editor-copy article {
  min-height: 124px;
  background: rgba(255, 255, 255, 0.035);
}

.boss-cv-editor-preview {
  min-height: 560px;
  background: linear-gradient(180deg, #101b30, #070f1f);
}

.editor-preview-body {
  grid-template-columns: 160px minmax(320px, 1fr) 210px;
}

.editor-preview-paper {
  height: 472px;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.28);
}

.boss-cv-tool-panel {
  min-height: 420px;
}

.score-dashboard {
  grid-template-columns: 152px 1fr;
  align-items: center;
  column-gap: 30px;
}

.score-dashboard strong,
.score-dashboard em {
  grid-column: 1;
}

.score-dashboard label {
  grid-column: 2;
}

.interview-questions article {
  display: grid;
  grid-template-columns: 88px 1fr;
  align-items: center;
  gap: 12px;
}

.interview-questions p {
  margin: 0;
}

.boss-cv-ai-panel .boss-cv-feature-grid article {
  min-height: 168px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(22, 38, 60, 0.76), rgba(8, 17, 32, 0.86));
}

.boss-cv-flow {
  display: none;
}

.testimonial-grid article {
  min-height: 190px;
  background: linear-gradient(180deg, rgba(22, 38, 60, 0.76), rgba(8, 17, 32, 0.86));
}

.testimonial-grid p::after {
  content: "★★★★★";
  display: block;
  margin-top: 18px;
  color: #ffc447;
  letter-spacing: 2px;
}

.boss-cv-final {
  margin-top: 34px;
  text-align: center;
  grid-template-columns: 1fr;
  justify-items: center;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(118, 172, 252, 0.22), transparent 58%),
    linear-gradient(90deg, rgba(16, 49, 98, 0.96), rgba(4, 19, 41, 0.96));
}

.boss-cv-final h2,
.boss-cv-final p,
.boss-cv-final button {
  grid-column: auto;
  grid-row: auto;
}

.boss-cv-final button {
  min-width: 180px;
  margin-top: 20px;
  background: linear-gradient(92deg, #a8ff5c, #5aa2ff);
  color: #052134;
  box-shadow: 0 0 34px rgba(118, 172, 252, 0.24);
}

.restore-footer-bridge {
  background: #020612;
}

@keyframes processCardPulse {
  0%, 100% {
    border-color: rgba(126, 160, 184, 0.22);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(255, 255, 255, 0.025) inset;
  }
  50% {
    border-color: rgba(32, 116, 242, 0.4);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.28), 0 0 30px rgba(32, 116, 242, 0.1);
  }
}

@keyframes processPaperFocus {
  0%, 28% { opacity: 0.62; transform: translate3d(0, 0, 0) rotate(-3deg) scale(1); }
  36%, 68% { opacity: 0.52; transform: translate3d(4px, -8px, 0) rotate(-2deg) scale(1.02); }
  76%, 100% { opacity: 0.36; transform: translate3d(-6px, 4px, 0) rotate(-4deg) scale(0.98); }
}

@keyframes processScanBeam {
  0%, 5% { top: 12%; opacity: 0; }
  9% { opacity: 1; }
  28% { top: 78%; opacity: 1; }
  34%, 100% { top: 82%; opacity: 0; }
}

@keyframes detectPoint {
  0%, 10% { opacity: 0; transform: translate3d(-8px, 6px, 0); }
  15%, 30% { opacity: 0.88; transform: translate3d(0, 0, 0); }
  36%, 100% { opacity: 0; transform: translate3d(6px, -4px, 0); }
}

@keyframes processScanCard {
  0%, 8% { opacity: 0; transform: translate3d(18px, 18px, 0); }
  12%, 30% { opacity: 0.86; transform: translate3d(0, 0, 0); }
  36%, 100% { opacity: 0; transform: translate3d(-10px, -8px, 0); }
}

@keyframes processAiCard {
  0%, 32% { opacity: 0; transform: translate3d(18px, 18px, 0); }
  38%, 64% { opacity: 0.88; transform: translate3d(0, 0, 0); }
  70%, 100% { opacity: 0; transform: translate3d(-10px, -8px, 0); }
}

@keyframes processDoneCard {
  0%, 64% { opacity: 0; transform: translate3d(14px, 14px, 0) scale(0.96); }
  70%, 78% { opacity: 0.88; transform: translate3d(0, 0, 0) scale(1); }
  84%, 100% { opacity: 0; transform: translate3d(-8px, -6px, 0) scale(0.98); }
}

@keyframes templateDeckShow {
  0%, 74% { opacity: 0; }
  78%, 98% { opacity: 0.9; }
  100% { opacity: 0; }
}

@keyframes templateSwapOne {
  0%, 74% { opacity: 0; transform: translate3d(28px, 22px, 0) rotate(7deg) scale(0.94); }
  78%, 83% { opacity: 0.82; transform: translate3d(0, 0, 0) rotate(-2deg) scale(1); }
  87%, 100% { opacity: 0; transform: translate3d(-24px, -14px, 0) rotate(-7deg) scale(0.96); }
}

@keyframes templateSwapTwo {
  0%, 82% { opacity: 0; transform: translate3d(28px, 22px, 0) rotate(7deg) scale(0.94); }
  86%, 91% { opacity: 0.82; transform: translate3d(0, 0, 0) rotate(3deg) scale(1); }
  95%, 100% { opacity: 0; transform: translate3d(-24px, -14px, 0) rotate(-6deg) scale(0.96); }
}

@keyframes templateSwapThree {
  0%, 90% { opacity: 0; transform: translate3d(28px, 22px, 0) rotate(7deg) scale(0.94); }
  94%, 98% { opacity: 0.82; transform: translate3d(0, 0, 0) rotate(-3deg) scale(1); }
  100% { opacity: 0; transform: translate3d(-20px, -12px, 0) rotate(-5deg) scale(0.96); }
}

@keyframes ctaLightSweep {
  0%, 52% { left: -52%; opacity: 0; }
  62% { opacity: 1; }
  88%, 100% { left: 110%; opacity: 0; }
}

@keyframes ctaGlowPulse {
  0%, 100% { filter: saturate(1); }
  50% { filter: saturate(1.18) brightness(1.04); }
}

@media (max-width: 900px) {
  .boss-cv-shell .topbar {
    width: calc(100% - 28px);
    min-height: 58px;
    padding: 0;
  }

  .boss-cv-shell .brand {
    min-width: auto;
  }

  .boss-cv-shell .brand-name {
    font-size: 16px;
  }

  .boss-cv-shell .main-nav {
    display: none;
  }

  .boss-cv-shell .top-actions {
    min-width: auto;
  }

  .boss-cv-home {
    width: 100%;
    padding-top: 0;
  }

  .boss-cv-hero,
  .boss-cv-hero-inner {
    min-height: clamp(620px, 100svh, 820px);
  }

  .boss-cv-hero-inner {
    padding: 84px 22px 72px;
  }

  .boss-cv-copy h1 {
    font-size: clamp(48px, 14vw, 72px);
  }

  .boss-cv-actions {
    margin-top: 34px;
  }

  .resume-process-stage {
    inset: 80px 0 42px;
  }

  .resume-process-paper {
    left: 50%;
    top: 20%;
    width: 250px;
    opacity: 0.34;
    transform: translateX(-50%) rotate(-3deg);
    animation: none;
  }

  .resume-process-card,
  .resume-template-switch,
  .resume-detect {
    display: none;
  }

  .boss-cv-quick,
  .boss-cv-section,
  .boss-cv-final {
    width: min(100% - 28px, 1440px);
  }

  .boss-cv-detail-head {
    width: min(100% - 28px, 1180px);
    margin-top: 56px;
  }

  .boss-cv-quick,
  .boss-cv-template-grid,
  .boss-cv-feature-grid,
  .boss-cv-flow,
  .boss-cv-editor-layout,
  .boss-cv-dual-tools,
  .testimonial-grid,
  .boss-cv-final {
    grid-template-columns: 1fr;
  }

  .boss-cv-section-head,
  .boss-cv-final {
    align-items: flex-start;
  }

  .boss-cv-section {
    padding: 22px;
    border-radius: 18px;
  }

  .template-shot {
    height: 330px;
  }

  .boss-cv-editor-preview {
    min-height: auto;
  }

  .editor-preview-body {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .editor-preview-body nav,
  .editor-preview-body aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .editor-preview-body aside b {
    grid-column: 1 / -1;
  }

  .editor-preview-paper {
    height: 420px;
  }

  .boss-cv-tool-panel {
    min-height: 0;
    padding: 24px;
  }

  .score-dashboard label {
    grid-template-columns: 82px 1fr 30px;
  }

  .boss-cv-final button {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
  }
}

@media (max-width: 1180px) {
  .boss-cv-hero-inner {
    width: min(100% - 40px, 900px);
    grid-template-columns: 0.92fr 1.08fr;
    gap: 32px;
    padding-top: 104px;
  }

  .hero-resume-preview {
    grid-row: span 2;
  }

  .boss-cv-copy {
    align-self: end;
  }

  .hero-process-panel {
    align-self: start;
  }

  .hero-process-panel .resume-process-card {
    min-height: 0;
  }

  .boss-cv-editor-layout,
  .editor-preview-body {
    grid-template-columns: 1fr;
  }

  .editor-preview-body nav,
  .editor-preview-body aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .editor-preview-body aside b {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .boss-cv-hero,
  .boss-cv-hero-inner {
    min-height: auto;
  }

  .boss-cv-hero-inner {
    width: min(100% - 28px, 560px);
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 88px 0 52px;
  }

  .hero-resume-preview {
    grid-row: auto;
    justify-self: center;
    width: min(280px, 74vw);
    opacity: 0.86;
  }

  .boss-cv-copy {
    text-align: center;
  }

  .boss-cv-copy h1 {
    font-size: clamp(44px, 13vw, 68px);
  }

  .boss-cv-copy p {
    margin-left: auto;
    margin-right: auto;
  }

  .boss-cv-actions {
    justify-content: center;
  }

  .hero-process-panel .resume-process-card {
    display: block;
    padding: 18px;
  }

  .process-arrow {
    height: 18px;
  }

  .boss-cv-detail-stats {
    flex-wrap: wrap;
    justify-content: center;
  }

  .template-shot {
    height: clamp(280px, 88vw, 380px);
  }

  .score-dashboard {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .score-dashboard strong,
  .score-dashboard em,
  .score-dashboard label {
    grid-column: auto;
    width: 100%;
  }

  .score-dashboard strong {
    width: 132px;
  }

  .interview-questions article {
    grid-template-columns: 1fr;
  }

  .boss-cv-section-head button {
    width: 100%;
  }
}

/* Logo and footer alignment v40 */
.boss-cv-shell .topbar {
  width: 100%;
  max-width: none;
  height: 72px;
  padding: 0 clamp(44px, 5vw, 100px);
  display: block;
}

.boss-cv-shell .brand {
  position: absolute;
  left: clamp(340px, 28vw, 620px);
  top: 13px;
  min-width: 0;
  height: 46px;
  gap: 12px;
}

.boss-cv-shell .brand-mark {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 10px;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 8px 20px -6px rgba(31, 99, 214, 0.4);
}

.boss-cv-shell .brand-mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.boss-cv-shell .brand-name {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 22px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

.boss-cv-shell .main-nav {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  height: 72px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.boss-cv-shell .main-nav button {
  min-height: 72px;
  font-size: 15px;
  font-weight: 650;
}

.boss-cv-shell .main-nav button::after {
  bottom: 12px;
}

.boss-cv-shell .top-actions {
  position: absolute;
  right: clamp(44px, 5vw, 100px);
  top: 14px;
}

.restore-footer-bridge {
  width: min(1120px, calc(100% - 160px));
  margin: 42px auto 0;
  padding: 28px 0 0;
  grid-template-columns: 1.05fr repeat(3, 0.72fr);
  gap: clamp(44px, 5vw, 84px);
  align-items: start;
  justify-content: center;
}

.restore-footer-bridge > div:first-child {
  max-width: 230px;
}

.restore-footer-bridge > div:first-child .brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  overflow: hidden;
  background: #07162d;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

.restore-footer-bridge > div:first-child .brand-mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.restore-footer-bridge strong {
  margin-top: 10px;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-size: 19px;
  font-weight: 900;
  color: #f7fbff;
}

.restore-footer-bridge b {
  font-size: 17px;
  color: #f7fbff;
}

.restore-footer-bridge span {
  color: rgba(226, 236, 242, 0.62);
  font-size: 14px;
  line-height: 1.65;
}

.restore-footer-copy {
  margin-top: 24px;
}

@media (max-width: 1180px) {
  .boss-cv-shell .brand {
    left: clamp(24px, 5vw, 56px);
  }

  .boss-cv-shell .main-nav {
    left: 52%;
  }
}

@media (max-width: 900px) {
  .boss-cv-shell .topbar {
    height: 62px;
    padding: 0 14px;
  }

  .boss-cv-shell .brand {
    position: static;
    height: 62px;
  }

  .boss-cv-shell .brand-mark {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 9px;
  }

  .boss-cv-shell .brand-name {
    font-size: 18px;
  }

  .boss-cv-shell .main-nav {
    display: none;
  }

  .boss-cv-shell .top-actions {
    right: 14px;
    top: 11px;
  }

  .restore-footer-bridge {
    width: min(100% - 28px, 560px);
    grid-template-columns: 1fr;
    gap: 26px;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .resume-process-paper,
  .resume-scan-beam,
  .resume-detect,
  .resume-process-card,
  .resume-template-switch,
  .resume-template-switch span,
  .boss-cv-primary {
    animation: none !important;
  }
}

/* Homepage hero light motion v41 */
.boss-cv-home {
  background:
    linear-gradient(180deg, #eef5ff 0, #f8fcff 760px, #020612 1120px, #020612 100%);
}

.boss-cv-shell .topbar {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(235, 243, 255, 0.58));
  border-bottom: 1px solid rgba(86, 162, 206, 0.18);
  box-shadow: 0 18px 46px rgba(49, 122, 160, 0.1);
  backdrop-filter: blur(18px);
}

.boss-cv-shell .brand-name {
  color: #122141;
  text-shadow: none;
}

.boss-cv-shell .main-nav button {
  color: rgba(18, 33, 65, 0.78);
}

.boss-cv-shell .main-nav button.active,
.boss-cv-shell .main-nav button:hover {
  color: #102040;
}

.boss-cv-shell .top-actions .vip-button {
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(33, 101, 204, 0.48);
  color: #0042a6;
  box-shadow: 0 12px 28px rgba(30, 93, 188, 0.12);
}

.boss-cv-shell .avatar-state {
  background: rgba(255, 255, 255, 0.68);
  border-color: rgba(68, 139, 229, 0.22);
  color: #223554;
}

.boss-cv-hero {
  min-height: clamp(720px, 100svh, 960px);
  background:
    radial-gradient(circle at 16% 20%, rgba(133, 182, 255, 0.62), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(158, 211, 255, 0.5), transparent 30%),
    radial-gradient(circle at 54% 92%, rgba(54, 126, 235, 0.22), transparent 34%),
    linear-gradient(135deg, #f6fbff 0%, #e8f1ff 46%, #eef7ff 72%, #d8e8ff 100%);
}

.boss-cv-hero::before {
  inset: 0;
  background:
    linear-gradient(118deg, rgba(255, 255, 255, 0.75), transparent 28%),
    linear-gradient(300deg, transparent 60%, rgba(255, 255, 255, 0.72)),
    radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, 0.55), transparent 54%);
  opacity: 1;
}

.boss-cv-hero::after {
  height: 40%;
  background: linear-gradient(180deg, transparent, rgba(243, 248, 255, 0.88));
}

.boss-cv-hero-inner {
  width: min(1510px, calc(100vw - 72px));
  min-height: clamp(720px, 100svh, 960px);
  grid-template-columns: minmax(330px, 410px) minmax(400px, 1fr) minmax(430px, 520px);
  gap: clamp(44px, 5vw, 82px);
  padding: 112px 0 76px;
  align-items: center;
}

.boss-cv-hero-inner::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 24%;
  right: 26%;
  top: 28%;
  height: 46%;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(48, 116, 218, 0.08), rgba(74, 155, 255, 0.16), rgba(126, 96, 255, 0.1));
  filter: blur(2px);
  transform: rotate(-8deg);
}

.hero-resume-preview {
  width: min(100%, 382px);
  border-radius: 24px;
  border: 1px solid rgba(44, 108, 203, 0.28);
  background: rgba(255, 255, 255, 0.8);
  box-shadow:
    0 0 0 10px rgba(38, 111, 220, 0.05),
    0 28px 70px rgba(47, 120, 160, 0.18),
    0 8px 28px rgba(17, 36, 68, 0.08);
  animation: resumeFrameGlowV41 6.8s ease-in-out infinite;
}

.hero-resume-preview .hero-resume-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  opacity: 0;
  transform: scale(1.015);
  animation: heroResumeTemplateCycle 16s ease-in-out infinite;
}

.hero-resume-preview .slide-one { animation-delay: 0s; }
.hero-resume-preview .slide-two { animation-delay: 4s; }
.hero-resume-preview .slide-three { animation-delay: 8s; }
.hero-resume-preview .slide-four { animation-delay: 12s; }

.hero-resume-preview::after {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(40, 103, 197, 0.08)),
    linear-gradient(90deg, rgba(8, 41, 78, 0.06), transparent 36%, rgba(83, 141, 228, 0.08));
}

.hero-resume-preview .resume-scan-beam {
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(23, 116, 255, 0.9), rgba(51, 123, 230, 0.96), transparent);
  box-shadow:
    0 0 18px rgba(23, 116, 255, 0.48),
    0 0 36px rgba(51, 123, 230, 0.3);
  animation-duration: 6.8s;
}

.hero-resume-preview .resume-detect {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(26, 95, 198, 0.42);
  color: #0d418f;
  box-shadow: 0 10px 22px rgba(40, 88, 160, 0.12);
  animation-duration: 6.8s;
}

.boss-cv-copy h1 {
  color: #102041;
  font-size: clamp(64px, 7.1vw, 110px);
  line-height: 1.05;
  font-weight: 860;
  text-shadow: 0 18px 42px rgba(58, 112, 152, 0.12);
}

.boss-cv-copy h1 span {
  color: transparent;
  background: linear-gradient(100deg, #76a6ef 0%, #2f73d9 42%, #1563d8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
}

.boss-cv-copy p {
  color: rgba(28, 50, 80, 0.72);
  font-weight: 420;
}

.boss-cv-actions {
  margin-top: 40px;
}

.boss-cv-primary {
  min-height: 68px;
  padding: 0 48px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.22), transparent 36%),
    linear-gradient(95deg, #a8ff68 0%, #488aec 48%, #1868e0 100%);
  color: #082344;
  font-size: 19px;
  font-weight: 820;
  box-shadow:
    0 0 0 8px rgba(89, 149, 238, 0.08),
    0 0 38px rgba(88, 148, 239, 0.46),
    0 24px 58px rgba(31, 98, 198, 0.24);
}

.boss-cv-primary::before {
  width: 42%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.78), transparent);
  animation-duration: 2.9s;
}

.boss-cv-primary::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.08));
}

.hero-process-panel {
  gap: 18px;
}

.hero-process-panel .resume-process-card {
  min-height: 144px;
  padding: 24px 26px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(241, 250, 255, 0.62));
  border: 1px solid rgba(99, 165, 217, 0.24);
  color: #1d3556;
  box-shadow:
    0 24px 54px rgba(70, 134, 174, 0.13),
    0 0 0 1px rgba(255, 255, 255, 0.78) inset;
  backdrop-filter: blur(18px);
  animation: processCardPulseLightV41 7.6s ease-in-out infinite;
}

.hero-process-panel .resume-scan-card::after {
  content: "";
  position: absolute;
  left: 82px;
  top: 74px;
  width: 124px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(22, 103, 224, 0.9), transparent);
  box-shadow: 0 0 20px rgba(22, 103, 224, 0.4);
  animation: cardScanLineV41 2.8s ease-in-out infinite;
}

.hero-process-panel .resume-ai-card::after {
  content: "";
  position: absolute;
  left: 26px;
  bottom: 20px;
  width: 148px;
  height: 32px;
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(95, 115, 245, 0.9) 0 28%, transparent 28% 34%, rgba(59, 131, 240, 0.55) 34% 100%);
  opacity: 0.72;
  animation: aiLineStreamV41 2.6s ease-in-out infinite;
}

.hero-process-panel .resume-process-card b {
  color: #14274a;
  font-size: 18px;
  font-weight: 820;
}

.hero-process-panel .resume-process-card b em {
  width: 28px;
  height: 28px;
  color: #05324a;
  background: linear-gradient(135deg, #77adff, #5aa2ff);
  box-shadow: 0 8px 18px rgba(37, 103, 203, 0.24);
}

.hero-process-panel .resume-process-card i {
  color: rgba(32, 54, 82, 0.78);
  font-weight: 520;
}

.hero-process-panel .resume-process-card i::before {
  background: #165cc4;
  box-shadow: 0 0 12px rgba(22, 92, 196, 0.42);
}

.process-arrow {
  height: 22px;
  background: linear-gradient(180deg, rgba(18, 95, 211, 0.08), rgba(18, 95, 211, 0.72));
}

.process-arrow::after {
  border-color: rgba(18, 95, 211, 0.72);
}

.resume-template-strip {
  grid-template-columns: repeat(4, 76px);
  justify-content: start;
  gap: 12px;
  overflow: hidden;
}

.resume-template-strip img {
  border-radius: 10px;
  box-shadow: 0 12px 22px rgba(42, 87, 126, 0.16);
  animation: templateStripAutoV41 8s ease-in-out infinite;
}

.resume-template-strip img:nth-child(1) { animation-delay: 0s; }
.resume-template-strip img:nth-child(2) { animation-delay: 0.35s; }
.resume-template-strip img:nth-child(3) { animation-delay: 0.7s; }
.resume-template-strip img:nth-child(4) { animation-delay: 1.05s; }

.resume-template-strip img:nth-child(2) {
  outline: 0;
  transform: none;
}

@keyframes heroResumeTemplateCycle {
  0% { opacity: 0; transform: translate3d(16px, 0, 0) scale(1.02); }
  5%, 22% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  28%, 100% { opacity: 0; transform: translate3d(-18px, 0, 0) scale(0.99); }
}

@keyframes resumeFrameGlowV41 {
  0%, 100% {
    box-shadow:
      0 0 0 10px rgba(38, 111, 220, 0.05),
      0 28px 70px rgba(47, 120, 160, 0.18),
      0 8px 28px rgba(17, 36, 68, 0.08);
  }
  50% {
    box-shadow:
      0 0 0 10px rgba(38, 111, 220, 0.08),
      0 34px 78px rgba(47, 120, 160, 0.2),
      0 0 34px rgba(45, 117, 225, 0.18);
  }
}

@keyframes processCardPulseLightV41 {
  0%, 100% {
    border-color: rgba(99, 165, 217, 0.22);
    transform: translate3d(0, 0, 0);
  }
  50% {
    border-color: rgba(31, 104, 214, 0.46);
    transform: translate3d(0, -2px, 0);
  }
}

@keyframes cardScanLineV41 {
  0%, 100% { transform: translateY(-16px); opacity: 0.24; }
  45%, 60% { transform: translateY(38px); opacity: 0.86; }
}

@keyframes aiLineStreamV41 {
  0%, 100% { clip-path: inset(0 62% 0 0); opacity: 0.48; }
  50% { clip-path: inset(0 0 0 0); opacity: 0.82; }
}

@keyframes templateStripAutoV41 {
  0%, 100% {
    transform: translateY(0) scale(1);
    outline: 0 solid rgba(20, 98, 216, 0);
  }
  42%, 58% {
    transform: translateY(-7px) scale(1.04);
    outline: 2px solid rgba(20, 98, 216, 0.82);
  }
}

@media (max-width: 1180px) {
  .boss-cv-hero-inner {
    grid-template-columns: minmax(280px, 350px) minmax(360px, 1fr);
    width: min(100% - 40px, 960px);
  }

  .hero-process-panel {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }

  .hero-process-panel .resume-process-card {
    min-height: 0;
  }

  .process-arrow {
    display: none;
  }
}

@media (max-width: 900px) {
  .boss-cv-shell .topbar {
    background: rgba(246, 250, 255, 0.84);
  }

  .boss-cv-hero-inner {
    width: min(100% - 28px, 580px);
    grid-template-columns: 1fr;
    padding: 90px 0 48px;
  }

  .hero-resume-preview {
    width: min(300px, 76vw);
    order: 2;
  }

  .boss-cv-copy {
    order: 1;
  }

  .hero-process-panel {
    order: 3;
    grid-template-columns: 1fr;
  }

  .boss-cv-copy h1 {
    font-size: clamp(46px, 14vw, 70px);
  }

  .boss-cv-primary {
    width: min(100%, 310px);
    padding: 0 28px;
  }

  .resume-template-strip {
    grid-template-columns: repeat(4, minmax(58px, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-resume-preview,
  .hero-resume-preview .hero-resume-slide,
  .hero-process-panel .resume-process-card,
  .hero-process-panel .resume-scan-card::after,
  .hero-process-panel .resume-ai-card::after,
  .resume-template-strip img {
    animation: none !important;
  }

  .hero-resume-preview .slide-one {
    opacity: 1;
    transform: none;
  }
}

/* Homepage hero UI tune v42 */
.boss-cv-shell .brand {
  gap: 13px;
}

.boss-cv-shell .brand-name {
  font-size: 23px;
  font-weight: 950;
}

.boss-cv-shell .main-nav button {
  font-size: 15.5px;
  font-weight: 760;
}

.boss-cv-shell .top-actions .vip-button,
.boss-cv-shell .avatar-state {
  min-height: 42px;
  font-weight: 780;
}

.boss-cv-hero {
  min-height: clamp(700px, 94svh, 900px);
  background:
    radial-gradient(circle at 14% 18%, rgba(127, 178, 255, 0.48), transparent 29%),
    radial-gradient(circle at 88% 12%, rgba(161, 214, 255, 0.38), transparent 28%),
    radial-gradient(circle at 58% 84%, rgba(61, 129, 232, 0.17), transparent 30%),
    linear-gradient(135deg, #f8fcff 0%, #eaf2ff 44%, #eff9ff 72%, #dbe9ff 100%);
}

.boss-cv-hero::before {
  background:
    linear-gradient(116deg, rgba(255, 255, 255, 0.58), transparent 24%),
    linear-gradient(300deg, transparent 66%, rgba(255, 255, 255, 0.48)),
    radial-gradient(ellipse at 49% 51%, rgba(102, 183, 255, 0.1), transparent 43%);
}

.boss-cv-hero-inner {
  width: min(1410px, calc(100vw - 76px));
  min-height: clamp(700px, 94svh, 900px);
  grid-template-columns: minmax(360px, 440px) minmax(360px, 0.92fr) minmax(390px, 460px);
  gap: clamp(24px, 3.2vw, 52px);
  padding: 104px 0 64px;
}

.boss-cv-hero-inner::before {
  left: 30%;
  right: 33%;
  top: 34%;
  height: 30%;
  background: linear-gradient(90deg, rgba(52, 119, 220, 0.07), rgba(77, 149, 255, 0.11), rgba(126, 96, 255, 0.05));
  opacity: 0.82;
  filter: blur(8px);
}

.hero-resume-preview {
  width: min(100%, 426px);
  border-radius: 22px;
  border-color: rgba(34, 102, 203, 0.24);
  box-shadow:
    0 0 0 8px rgba(38, 111, 220, 0.045),
    0 28px 62px rgba(47, 120, 160, 0.15),
    0 4px 22px rgba(17, 36, 68, 0.08);
}

.boss-cv-copy {
  transform: translateX(-4px);
}

.boss-cv-copy h1,
.boss-cv-copy h1::first-line {
  color: #102041;
}

.boss-cv-copy h1 {
  font-size: clamp(66px, 6.4vw, 98px);
  line-height: 1.04;
  font-weight: 900;
  text-shadow: 0 12px 34px rgba(49, 98, 146, 0.1);
}

.boss-cv-copy p {
  margin-top: 24px;
  color: rgba(18, 39, 70, 0.74);
  font-size: clamp(17px, 1.32vw, 22px);
}

.boss-cv-actions {
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: 34px;
}

.hero-proof-line {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(29, 95, 194, 0.2);
  color: rgba(19, 54, 84, 0.7);
  font-size: 14px;
  font-weight: 720;
  box-shadow: 0 10px 26px rgba(62, 108, 178, 0.08);
}

.boss-cv-primary {
  min-height: 62px;
  padding: 0 42px;
  font-size: 18px;
  box-shadow:
    0 0 0 7px rgba(89, 149, 238, 0.07),
    0 0 30px rgba(88, 148, 239, 0.38),
    0 20px 46px rgba(31, 98, 198, 0.2);
}

.hero-process-panel {
  gap: 14px;
}

.hero-process-panel .resume-process-card {
  min-height: 128px;
  padding: 20px 22px;
  border-radius: 17px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(243, 251, 255, 0.72));
  border-color: rgba(82, 160, 207, 0.26);
  box-shadow:
    0 18px 42px rgba(70, 134, 174, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.82) inset;
}

.hero-process-panel .resume-process-card b {
  margin-bottom: 14px;
}

.process-card-row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.ai-card-row {
  grid-template-columns: 116px minmax(0, 1fr);
}

.process-mini-resume {
  position: relative;
  display: block;
  width: 104px;
  aspect-ratio: 0.707;
  overflow: hidden;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 14px 26px rgba(41, 93, 134, 0.14);
}

.process-mini-resume img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.mini-scan-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 18%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #1568e5, #4286eb, transparent);
  box-shadow: 0 0 16px rgba(31, 107, 221, 0.42);
  animation: cardMiniScanV42 2.8s ease-in-out infinite;
}

.process-bullet-list {
  display: grid;
  gap: 8px;
}

.hero-process-panel .resume-process-card i {
  margin-top: 0;
  font-size: 13.5px;
  line-height: 1.48;
}

.hero-process-panel .resume-scan-card::after,
.hero-process-panel .resume-ai-card::after {
  display: none;
}

.ai-stream-demo {
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-rows: repeat(3, 14px);
  gap: 8px 10px;
  align-items: center;
}

.ai-stream-demo strong {
  grid-row: 1 / 4;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #6978ff, #1869e2);
  box-shadow: 0 12px 24px rgba(68, 113, 228, 0.2);
}

.ai-stream-demo span {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(105, 120, 255, 0.82), rgba(24, 105, 226, 0.2), rgba(24, 105, 226, 0));
  animation: aiStreamLineV42 2.4s ease-in-out infinite;
}

.ai-stream-demo span:nth-child(3) {
  width: 82%;
  animation-delay: 0.2s;
}

.ai-stream-demo span:nth-child(4) {
  width: 64%;
  animation-delay: 0.4s;
}

.resume-template-strip {
  grid-template-columns: repeat(4, 88px);
  gap: 13px;
}

.resume-template-strip img {
  border: 1px solid rgba(33, 99, 199, 0.18);
}

.process-arrow {
  height: 18px;
}

@keyframes cardMiniScanV42 {
  0%, 100% { top: 16%; opacity: 0.28; }
  48%, 60% { top: 74%; opacity: 0.92; }
}

@keyframes aiStreamLineV42 {
  0%, 100% { transform: scaleX(0.68); transform-origin: left center; opacity: 0.48; }
  50% { transform: scaleX(1); opacity: 0.9; }
}

@media (max-width: 1180px) {
  .boss-cv-hero-inner {
    grid-template-columns: minmax(290px, 390px) minmax(350px, 1fr);
    width: min(100% - 40px, 980px);
  }

  .hero-process-panel {
    grid-template-columns: 1fr;
  }

  .process-arrow {
    display: block;
  }
}

@media (max-width: 900px) {
  .boss-cv-actions {
    align-items: center;
  }

  .hero-proof-line {
    text-align: center;
  }

  .process-card-row,
  .ai-card-row {
    grid-template-columns: 1fr;
  }

  .process-mini-resume {
    width: 128px;
    justify-self: center;
  }

  .ai-stream-demo {
    width: min(100%, 240px);
    justify-self: center;
  }
}

/* Homepage transparent header layout v43 */
.boss-cv-shell .topbar {
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.boss-cv-shell .brand-mark {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.24) inset,
    0 14px 28px rgba(13, 42, 77, 0.18);
}

.boss-cv-shell .top-actions .vip-button,
.boss-cv-shell .avatar-state {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(18, 79, 170, 0.32);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.boss-cv-hero {
  min-height: clamp(690px, 91svh, 850px);
  background:
    radial-gradient(circle at 19% 32%, rgba(63, 126, 221, 0.12), transparent 24%),
    radial-gradient(circle at 72% 24%, rgba(102, 185, 255, 0.16), transparent 28%),
    linear-gradient(135deg, #f4f8ff 0%, #e5efff 40%, #d9f2ff 100%);
}

.boss-cv-hero::before {
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.5), transparent 26%),
    linear-gradient(290deg, transparent 70%, rgba(255, 255, 255, 0.42));
}

.boss-cv-hero::after {
  height: 24%;
  background: linear-gradient(180deg, transparent, rgba(233, 242, 255, 0.7));
}

.boss-cv-hero-inner {
  width: min(1620px, calc(100vw - 120px));
  min-height: clamp(690px, 91svh, 850px);
  grid-template-columns: minmax(430px, 500px) minmax(360px, 500px) minmax(460px, 560px);
  gap: clamp(36px, 4vw, 72px);
  align-items: center;
  padding: 112px 0 54px;
}

.boss-cv-hero-inner::before {
  left: 36%;
  right: 30%;
  top: 33%;
  height: 26%;
  opacity: 0.46;
  background: linear-gradient(90deg, rgba(43, 113, 219, 0.05), rgba(88, 155, 255, 0.08), rgba(255, 255, 255, 0));
}

.hero-resume-preview {
  width: min(100%, 488px);
  justify-self: start;
  border-radius: 23px;
  box-shadow:
    0 0 0 7px rgba(39, 112, 222, 0.04),
    0 28px 62px rgba(47, 120, 160, 0.14);
}

.boss-cv-copy {
  align-self: center;
  justify-self: center;
  width: min(100%, 480px);
  transform: none;
  text-align: left;
}

.boss-cv-copy h1 {
  font-size: clamp(70px, 6.1vw, 106px);
  line-height: 1.03;
}

.boss-cv-copy p {
  margin-top: 26px;
  max-width: 430px;
  margin-left: 0;
}

.boss-cv-actions {
  margin-top: 36px;
  align-items: flex-start;
}

.boss-cv-primary {
  min-width: 252px;
}

.hero-process-panel {
  align-self: center;
  justify-self: end;
  width: min(100%, 540px);
  gap: 16px;
}

.hero-process-panel .resume-process-card {
  min-height: 122px;
  padding: 20px 24px;
  border-color: rgba(28, 98, 202, 0.28);
}

.hero-process-panel .resume-process-card b {
  font-size: 18px;
}

.process-card-row {
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 22px;
}

.process-mini-resume {
  width: 100px;
}

.ai-card-row {
  grid-template-columns: 110px minmax(0, 1fr);
}

.resume-template-strip {
  grid-template-columns: repeat(4, minmax(74px, 88px));
  gap: 12px;
  margin-top: 12px;
}

.resume-template-strip img {
  border-radius: 9px;
}

.process-arrow {
  height: 20px;
}

@media (max-width: 1280px) {
  .boss-cv-hero-inner {
    width: min(100% - 48px, 1060px);
    grid-template-columns: minmax(300px, 420px) minmax(360px, 1fr);
    gap: 32px;
  }

  .hero-process-panel {
    grid-column: 1 / -1;
    width: 100%;
    grid-template-columns: 1fr;
    justify-self: stretch;
  }
}

@media (max-width: 900px) {
  .boss-cv-shell .topbar {
    background: linear-gradient(180deg, rgba(246, 250, 255, 0.78), rgba(246, 250, 255, 0));
  }

  .boss-cv-hero-inner {
    width: min(100% - 28px, 580px);
    grid-template-columns: 1fr;
    padding-top: 86px;
  }

  .hero-resume-preview {
    justify-self: center;
  }

  .boss-cv-copy {
    text-align: center;
    justify-self: center;
  }

  .boss-cv-copy p {
    margin-left: auto;
    margin-right: auto;
  }

  .boss-cv-actions {
    align-items: center;
  }
}

/* Homepage full polish v44 */
.boss-cv-home {
  padding-bottom: 40px;
  background:
    radial-gradient(circle at 18% 4%, rgba(49, 118, 221, 0.1), transparent 24%),
    linear-gradient(180deg, #eef5ff 0, #f8fbff 740px, #f3fbff 100%);
  color: #102041;
}

.boss-cv-detail-head,
.boss-cv-section,
.boss-cv-flow,
.boss-cv-final,
.restore-footer-bridge {
  width: min(1220px, calc(100vw - 80px));
}

.boss-cv-detail-head {
  margin: 72px auto 18px;
  text-align: center;
}

.boss-cv-detail-head h2 {
  margin: 0;
  color: #102041;
  font-size: clamp(34px, 3.6vw, 48px);
  line-height: 1.14;
  font-weight: 900;
  letter-spacing: 0;
  text-shadow: none;
}

.boss-cv-detail-head p {
  width: min(720px, 100%);
  margin: 14px auto 0;
  color: rgba(27, 52, 84, 0.68);
  font-size: 17px;
  line-height: 1.75;
  font-weight: 460;
}

.boss-cv-detail-stats {
  gap: 12px;
  margin-top: 18px;
  padding: 8px 16px;
  border: 1px solid rgba(35, 100, 198, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(27, 52, 84, 0.68);
  box-shadow: 0 12px 30px rgba(68, 111, 176, 0.08);
}

.boss-cv-detail-stats span {
  color: rgba(27, 52, 84, 0.72);
  font-size: 14px;
  font-weight: 760;
}

.boss-cv-detail-stats i {
  background: rgba(27, 52, 84, 0.18);
}

.boss-cv-section {
  margin: 30px auto 0;
  padding: clamp(30px, 3.2vw, 48px);
  border: 1px solid rgba(76, 127, 204, 0.18);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(247, 250, 255, 0.74));
  box-shadow:
    0 28px 70px rgba(57, 128, 164, 0.1),
    0 0 0 1px rgba(255, 255, 255, 0.84) inset;
  backdrop-filter: blur(16px);
}

.boss-cv-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 28px;
}

.boss-cv-section-head.centered {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
}

.boss-cv-section-head span,
.boss-cv-tool-panel span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  color: #0d459a;
  background: rgba(35, 109, 219, 0.1);
  border: 1px solid rgba(35, 109, 219, 0.18);
  font-size: 13px;
  font-weight: 850;
}

.boss-cv-section-head h2,
.boss-cv-tool-panel h2,
.boss-cv-final h2 {
  margin: 12px 0 0;
  color: #102041;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: 0;
  text-shadow: none;
}

.boss-cv-section-head p,
.boss-cv-tool-panel p,
.boss-cv-final p {
  width: min(680px, 100%);
  margin: 12px 0 0;
  color: rgba(27, 52, 84, 0.66);
  font-size: 16px;
  line-height: 1.72;
  font-weight: 460;
}

.boss-cv-section-head button,
.boss-cv-final button {
  min-height: 44px;
  border: 1px solid rgba(22, 89, 190, 0.28);
  border-radius: 999px;
  padding: 0 20px;
  color: #07324d;
  background: linear-gradient(95deg, #a9ff68, #3279e4 58%, #1766dc);
  font-weight: 850;
  box-shadow: 0 14px 30px rgba(30, 96, 196, 0.15);
}

.boss-cv-template-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 26px;
  overflow-x: auto;
  scrollbar-width: none;
}

.boss-cv-template-tabs span {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid rgba(45, 97, 174, 0.14);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: rgba(30, 56, 86, 0.66);
  background: rgba(255, 255, 255, 0.68);
  font-size: 14px;
  font-weight: 700;
}

.boss-cv-template-tabs span.active {
  color: #07324d;
  border-color: rgba(28, 100, 209, 0.35);
  background: linear-gradient(95deg, rgba(169, 255, 104, 0.86), rgba(32, 107, 220, 0.72));
}

.boss-cv-template-grid {
  gap: 20px;
}

.boss-cv-template-card {
  padding: 16px 16px 20px;
  border: 1px solid rgba(62, 109, 180, 0.16);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 42px rgba(57, 128, 164, 0.08);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.boss-cv-template-card:hover {
  transform: translateY(-5px);
  border-color: rgba(20, 98, 216, 0.38);
  box-shadow: 0 24px 54px rgba(57, 128, 164, 0.14);
}

.template-shot {
  height: 330px;
  border: 1px solid rgba(62, 109, 180, 0.12);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #eaf7ff);
}

.template-shot::after {
  background: linear-gradient(180deg, transparent 58%, rgba(239, 245, 255, 0.9));
}

.boss-cv-template-card h3 {
  margin: 16px 0 0;
  color: #102041;
  font-size: 18px;
  font-weight: 900;
}

.boss-cv-template-card > span {
  margin-top: 8px;
  color: #0b459d;
  font-size: 13px;
  font-weight: 760;
}

.boss-cv-template-card p {
  margin-top: 8px;
  color: rgba(27, 52, 84, 0.62);
  line-height: 1.55;
}

.boss-cv-editor-showcase {
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(32, 107, 220, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(244, 248, 255, 0.76));
}

.boss-cv-editor-layout {
  display: grid;
  grid-template-columns: 0.68fr 1.32fr;
  gap: 28px;
  align-items: stretch;
}

.boss-cv-editor-copy {
  display: grid;
  gap: 14px;
}

.boss-cv-editor-copy article,
.boss-cv-feature-grid article,
.interview-questions article,
.testimonial-grid article {
  border: 1px solid rgba(62, 109, 180, 0.14);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 16px 34px rgba(57, 128, 164, 0.07);
}

.boss-cv-editor-copy article {
  min-height: 124px;
  padding: 22px;
  border-radius: 18px;
}

.boss-cv-editor-copy b,
.boss-cv-feature-grid article span {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #07324d;
  background: linear-gradient(135deg, #a9ff68, #236cda);
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(27, 95, 196, 0.16);
}

.boss-cv-editor-copy h3,
.boss-cv-feature-grid h3 {
  margin: 14px 0 0;
  color: #102041;
  font-size: 20px;
  font-weight: 900;
}

.boss-cv-editor-copy p,
.boss-cv-feature-grid p {
  margin: 10px 0 0;
  color: rgba(27, 52, 84, 0.62);
  line-height: 1.68;
}

.boss-cv-editor-preview {
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(62, 109, 180, 0.18);
  border-radius: 24px;
  background: #f5fbff;
  box-shadow: 0 26px 58px rgba(57, 128, 164, 0.13);
}

.editor-preview-toolbar {
  min-height: 56px;
  padding: 0 22px;
  border-bottom: 1px solid rgba(62, 109, 180, 0.14);
  background: rgba(255, 255, 255, 0.74);
  color: rgba(22, 43, 70, 0.66);
}

.editor-preview-toolbar b {
  color: #0d459a;
  font-weight: 850;
}

.editor-preview-body {
  grid-template-columns: 150px minmax(0, 1fr) 190px;
  gap: 18px;
  padding: 20px;
}

.editor-preview-body nav span,
.editor-preview-body aside span {
  min-height: 34px;
  color: rgba(27, 52, 84, 0.62);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(62, 109, 180, 0.1);
  font-weight: 700;
}

.editor-preview-body nav span.active {
  color: #07324d;
  background: linear-gradient(95deg, rgba(169, 255, 104, 0.9), rgba(32, 107, 220, 0.78));
}

.editor-preview-paper {
  height: 448px;
  border-radius: 14px;
  box-shadow: 0 20px 44px rgba(57, 128, 164, 0.14);
}

.editor-preview-body aside {
  padding: 16px;
  border: 1px solid rgba(30, 96, 196, 0.16);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(232, 241, 255, 0.86), rgba(255, 255, 255, 0.7));
}

.editor-preview-body aside b {
  color: #102041;
  font-size: 15px;
}

.boss-cv-dual-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.boss-cv-tool-panel {
  min-height: 420px;
  padding: 34px;
  border: 1px solid rgba(76, 127, 204, 0.18);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(247, 250, 255, 0.74));
  box-shadow: 0 28px 70px rgba(57, 128, 164, 0.1);
}

.score-dashboard {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  column-gap: 28px;
  row-gap: 13px;
  align-items: center;
}

.score-dashboard strong {
  grid-row: 1 / span 4;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #102041;
  font-size: 44px;
  line-height: 1;
  background:
    radial-gradient(circle at 50% 50%, #ffffff 0 54%, transparent 55%),
    conic-gradient(#276ed8 0 92%, rgba(39, 110, 216, 0.14) 92% 100%);
}

.score-dashboard em {
  grid-column: 1;
  grid-row: 5;
  justify-self: center;
  margin-top: 76px;
  color: rgba(27, 52, 84, 0.58);
  font-style: normal;
  font-weight: 760;
}

.score-dashboard label {
  grid-column: 2;
  display: grid;
  grid-template-columns: 94px 1fr 32px;
  gap: 10px;
  align-items: center;
  color: rgba(27, 52, 84, 0.66);
  font-size: 14px;
  font-weight: 720;
}

.score-dashboard label b {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #246cd9 var(--score), rgba(31, 100, 146, 0.1) var(--score));
}

.score-dashboard label i {
  color: #0b459d;
  font-style: normal;
  font-weight: 850;
}

.interview-questions {
  gap: 14px;
  margin-top: 28px;
}

.interview-questions article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 18px;
  border-radius: 18px;
}

.interview-questions b {
  color: #0b459d;
  font-weight: 900;
}

.interview-questions p {
  margin: 0;
  color: rgba(27, 52, 84, 0.66);
  line-height: 1.58;
}

.boss-cv-feature-grid {
  gap: 18px;
}

.boss-cv-ai-panel .boss-cv-feature-grid article {
  min-height: 176px;
  padding: 24px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
}

.boss-cv-flow {
  display: none;
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.testimonial-grid article {
  min-height: 210px;
  padding: 24px;
  border-radius: 20px;
}

.testimonial-grid div {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 4px 12px;
  align-items: center;
}

.testimonial-grid b {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #07324d;
  background: linear-gradient(145deg, #a9ff68, #236cda);
  font-weight: 900;
}

.testimonial-grid span {
  color: #102041;
  font-weight: 900;
}

.testimonial-grid em {
  color: rgba(27, 52, 84, 0.52);
  font-style: normal;
  font-size: 13px;
  font-weight: 650;
}

.testimonial-grid p {
  margin: 20px 0 0;
  color: rgba(27, 52, 84, 0.66);
  line-height: 1.7;
}

.testimonial-grid p::after {
  margin-top: 16px;
  color: #f0ae22;
  letter-spacing: 2px;
}

.boss-cv-final {
  margin: 34px auto 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 34px 42px;
  border: 1px solid rgba(35, 100, 198, 0.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 50%, rgba(169, 255, 104, 0.18), transparent 26%),
    linear-gradient(95deg, rgba(224, 236, 255, 0.9), rgba(246, 250, 255, 0.88));
  box-shadow: 0 24px 58px rgba(57, 128, 164, 0.11);
  text-align: left;
  justify-items: stretch;
}

.boss-cv-final p {
  grid-column: 1;
  margin: 8px 0 0;
}

.boss-cv-final button {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 138px;
}

.restore-footer-bridge {
  margin: 34px auto 0;
  padding: 30px 0 0;
  border-top: 1px solid rgba(31, 90, 128, 0.12);
  background: transparent;
  color: rgba(27, 52, 84, 0.62);
  box-shadow: none;
}

.restore-footer-bridge strong,
.restore-footer-bridge b {
  color: #102041;
}

.restore-footer-bridge span,
.restore-footer-copy,
.restore-footer-copy a {
  color: rgba(27, 52, 84, 0.58);
}

.restore-footer-version {
  background: rgba(255, 255, 255, 0.72);
  color: #0b459d;
}

@media (max-width: 1180px) {
  .boss-cv-detail-head,
  .boss-cv-section,
  .boss-cv-flow,
  .boss-cv-final,
  .restore-footer-bridge {
    width: min(100% - 40px, 920px);
  }

  .boss-cv-editor-layout,
  .boss-cv-dual-tools,
  .testimonial-grid,
  .boss-cv-final {
    grid-template-columns: 1fr;
  }

  .boss-cv-final button {
    grid-column: auto;
    grid-row: auto;
    width: fit-content;
  }
}

@media (max-width: 900px) {
  .boss-cv-detail-head,
  .boss-cv-section,
  .boss-cv-flow,
  .boss-cv-final,
  .restore-footer-bridge {
    width: min(100% - 28px, 580px);
  }

  .boss-cv-section {
    padding: 24px;
    border-radius: 22px;
  }

  .boss-cv-section-head {
    grid-template-columns: 1fr;
  }

  .boss-cv-section-head button,
  .boss-cv-final button {
    width: 100%;
  }

  .boss-cv-template-grid,
  .boss-cv-feature-grid {
    grid-template-columns: 1fr;
  }

  .editor-preview-body,
  .score-dashboard,
  .interview-questions article {
    grid-template-columns: 1fr;
  }

  .score-dashboard strong,
  .score-dashboard em,
  .score-dashboard label {
    grid-column: auto;
    grid-row: auto;
  }

  .score-dashboard strong {
    justify-self: center;
  }

  .score-dashboard em {
    margin-top: -8px;
  }
}

/* DeepHire-flow AI editor lab v31 */
.ai-title-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.ai-title-actions button {
  min-height: 42px;
}

.ai-title-actions .ui-icon {
  width: 16px;
  height: 16px;
}

.ai-editor-lab-view {
  min-height: 100vh;
  background: #eef0f3;
  color: #141921;
}

.ai-editor-lab-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 10px 18px;
  border-bottom: 1px solid #d8dce2;
  background: rgba(252, 253, 254, 0.96);
  backdrop-filter: blur(16px);
}

.ai-editor-doc-info {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 280px;
}

.ai-editor-doc-info > div:first-child {
  display: grid;
  gap: 2px;
}

.ai-editor-doc-info b {
  font-size: 15px;
  line-height: 1.25;
}

.ai-editor-doc-info span {
  color: #66736f;
  font-size: 12px;
}

.ai-editor-lab-body {
  display: grid;
  grid-template-columns: 318px minmax(520px, 1fr) 360px;
  align-items: stretch;
  min-height: calc(100vh - 58px);
}

.ai-editor-lab-left,
.ai-editor-lab-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  overflow: auto;
}

.ai-editor-lab-left {
  border-right: 1px solid #d8dce2;
  background: #f8f9fb;
}

.ai-editor-lab-right {
  border-left: 1px solid #d8dce2;
  background: #fbfcfa;
}

.ai-editor-panel,
.ai-editor-assistant,
.ai-editor-report,
.ai-editor-task-banner {
  border: 1px solid #dce0e7;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(23, 32, 45, 0.06);
}

.ai-editor-panel {
  padding: 14px;
}

.ai-editor-panel-head,
.ai-editor-report-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.ai-editor-panel-head h2,
.ai-editor-assistant h2,
.ai-editor-report h2 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

.ai-editor-panel-head span,
.ai-editor-report-head span,
.ai-editor-assistant p {
  margin: 0;
  color: #6a7872;
  font-size: 12px;
}

.ai-editor-flow-list,
.ai-editor-template-grid,
.ai-editor-module-list,
.ai-editor-command-grid,
.ai-editor-suggestion-stack,
.ai-editor-score-bars,
.ai-editor-report-list {
  display: grid;
  gap: 10px;
}

.ai-editor-flow-list button,
.ai-editor-template-grid button,
.ai-editor-module-list button {
  width: 100%;
  min-height: 56px;
  border: 1px solid #dbe0e7;
  border-radius: 8px;
  background: #f9fafb;
  color: #202731;
  text-align: left;
  cursor: pointer;
}

.ai-editor-flow-list button {
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 10px;
  align-items: center;
  padding: 10px;
}

.ai-editor-flow-list b {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #e8ecf1;
  color: #2d476f;
  font-size: 12px;
}

.ai-editor-flow-list span,
.ai-editor-template-grid b,
.ai-editor-module-list span {
  font-weight: 800;
}

.ai-editor-flow-list em,
.ai-editor-template-grid em,
.ai-editor-module-list em {
  color: #71817a;
  font-size: 12px;
  font-style: normal;
}

.ai-editor-flow-list button.active,
.ai-editor-template-grid button.active,
.ai-editor-module-list button.active {
  border-color: #3160a6;
  background: #eff3fa;
  box-shadow: inset 0 0 0 1px rgba(49, 96, 166, 0.2);
}

.ai-editor-template-grid {
  grid-template-columns: 1fr 1fr;
}

.ai-editor-template-grid button {
  display: grid;
  grid-template-rows: 20px auto auto;
  gap: 6px;
  min-height: 112px;
  padding: 10px;
}

.ai-editor-template-grid button > span {
  width: 48px;
  height: 18px;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--template), var(--template-soft));
}

.ai-editor-inline-actions {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
  margin-top: 12px;
}

.ai-editor-module-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
}

.ai-editor-lab-canvas {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  padding: 16px;
  overflow: auto;
  background:
    linear-gradient(#d8e0dc 1px, transparent 1px),
    linear-gradient(90deg, #d8e0dc 1px, transparent 1px),
    #e9ebef;
  background-size: 28px 28px;
}

.ai-editor-task-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
  gap: 14px;
  margin-bottom: 14px;
  padding: 14px;
}

.ai-editor-task-banner b {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
}

.ai-editor-task-banner span {
  color: #65736e;
  font-size: 12px;
}

.ai-editor-timeline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.ai-editor-timeline span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid #d9dee6;
  border-radius: 999px;
  background: #f7f8fa;
  color: #495464;
}

.ai-editor-paper-shell {
  display: grid;
  place-items: start center;
  min-height: 980px;
  padding: 16px 8px 48px;
}

.ai-editor-paper-shell .a4 {
  transform-origin: top center;
}

.ai-editor-assistant {
  padding: 16px;
}

.ai-editor-assistant-head {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.ai-editor-assistant-head > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #e7edf5;
  color: #204274;
}

.ai-editor-assistant-head .ui-icon {
  width: 19px;
  height: 19px;
}

.ai-editor-field {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
  color: #4b5c56;
  font-size: 12px;
  font-weight: 800;
}

.ai-editor-field textarea {
  min-height: 112px;
  resize: vertical;
}

.ai-editor-command-grid {
  grid-template-columns: 1fr 1fr;
  margin: 12px 0;
}

.ai-editor-command-grid button {
  min-height: 42px;
  justify-content: center;
}

.ai-editor-command-grid .ui-icon {
  width: 15px;
  height: 15px;
}

.ai-editor-suggestion-stack {
  margin-top: 14px;
  padding: 12px;
  border-radius: 8px;
  background: #f6f8f4;
  color: #5e6e67;
  font-size: 12px;
}

.ai-editor-suggestion-stack b {
  color: #262e3a;
}

.ai-editor-report {
  padding: 16px;
}

.ai-editor-report-head b {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: #101825;
  color: #ffffff;
  font-size: 20px;
}

.ai-editor-score-bars div {
  display: grid;
  grid-template-columns: 72px 32px 1fr;
  gap: 8px;
  align-items: center;
  color: #5d6c66;
  font-size: 12px;
}

.ai-editor-score-bars i {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2e5ea6 var(--score), #dfe3e8 var(--score));
}

.ai-editor-report-list span {
  padding: 10px;
  border-radius: 8px;
  background: #fff9e9;
  color: #6a5620;
  font-size: 12px;
}

@media (max-width: 1240px) {
  .ai-editor-lab-body {
    grid-template-columns: 290px minmax(430px, 1fr);
  }

  .ai-editor-lab-right {
    grid-column: 1 / -1;
    border-top: 1px solid #d8dce2;
    border-left: 0;
  }

  .ai-editor-assistant {
    max-width: none;
  }
}

@media (max-width: 860px) {
  .ai-editor-lab-topbar {
    flex-wrap: wrap;
  }

  .ai-editor-doc-info {
    flex: 1 1 100%;
  }

  .ai-editor-lab-body {
    grid-template-columns: 1fr;
  }

  .ai-editor-lab-left,
  .ai-editor-lab-right {
    border: 0;
  }

  .ai-editor-task-banner {
    grid-template-columns: 1fr;
  }

  .ai-editor-timeline {
    justify-content: flex-start;
  }

  .ai-editor-paper-shell {
    min-height: 720px;
    overflow-x: auto;
    place-items: start;
  }

  .ai-editor-command-grid,
  .ai-editor-template-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage BOSS light hero high fidelity v45 */
.boss-cv-shell .topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  height: 92px;
  padding: 0 clamp(42px, 5.4vw, 92px);
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.boss-cv-shell .brand {
  min-width: 300px;
  gap: 18px;
}

.boss-cv-shell .brand-mark {
  width: 58px;
  height: 58px;
  flex-basis: 58px;
  border-radius: 15px;
  filter: drop-shadow(0 14px 22px rgba(34, 115, 190, 0.16));
}

.boss-cv-shell .brand-name {
  color: #071d3c;
  font-size: 32px;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.55);
}

.boss-cv-shell .helped,
.boss-cv-shell .main-nav .ui-icon {
  display: none;
}

.boss-cv-shell .main-nav {
  height: 92px;
  justify-content: center;
  gap: clamp(16px, 2.2vw, 44px);
}

.boss-cv-shell .main-nav button {
  min-width: auto;
  padding: 0;
  color: #071d3c;
  background: transparent;
  font-size: 18px;
  font-weight: 760;
  letter-spacing: 0;
}

.boss-cv-shell .main-nav button:hover,
.boss-cv-shell .main-nav button.active {
  color: #071d3c;
  background: transparent;
}

.boss-cv-shell .main-nav button::after {
  left: 0;
  right: 0;
  bottom: 21px;
  height: 4px;
  border-radius: 999px;
  background: transparent;
}

.boss-cv-shell .main-nav button.active::after {
  background: linear-gradient(90deg, #5aa2ff, #1663d6);
  box-shadow: 0 4px 10px rgba(24, 100, 214, 0.24);
}

.boss-cv-shell .top-actions {
  gap: clamp(18px, 2vw, 34px);
}

.boss-cv-shell .top-actions .vip {
  height: 46px;
  padding: 0 28px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(100deg, #7d51ff 0%, #518cff 100%);
  color: #ffffff;
  font-size: 17px;
  font-weight: 850;
  box-shadow: 0 15px 34px rgba(93, 103, 238, 0.28);
}

.boss-cv-shell .top-actions .vip .ui-icon {
  display: block;
  width: 18px;
  height: 18px;
  stroke-width: 2.4;
}

.header-text-link {
  min-height: 44px;
  color: #071d3c;
  font-size: 18px;
  font-weight: 760;
}

.boss-cv-shell .avatar.visual-avatar {
  width: auto;
  height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  display: flex;
  gap: 12px;
}

.boss-cv-shell .avatar.visual-avatar::after {
  display: none;
}

.boss-cv-shell .avatar.visual-avatar img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow:
    0 0 0 3px rgba(255, 255, 255, 0.76),
    0 10px 22px rgba(39, 78, 122, 0.14);
}

.avatar-caret {
  color: #1e3352;
  font-size: 18px;
  font-weight: 800;
  transform: translateY(-1px);
}

.boss-cv-home {
  padding-bottom: 0;
  background: linear-gradient(180deg, #eef5ff 0, #f7faff 930px, #f4fbff 100%);
}

.boss-cv-hero {
  min-height: 100svh;
  overflow: hidden;
  background:
    radial-gradient(circle at 5% 6%, rgba(73, 144, 251, 0.2), transparent 25%),
    radial-gradient(circle at 92% 18%, rgba(103, 183, 255, 0.2), transparent 30%),
    linear-gradient(135deg, #eef5ff 0%, #f5f9ff 46%, #e4efff 100%);
}

.boss-cv-hero::before {
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.72), transparent 24%, rgba(255, 255, 255, 0.46) 78%, rgba(255, 255, 255, 0.78)),
    radial-gradient(ellipse at 50% 48%, rgba(255, 255, 255, 0.55), transparent 48%);
  opacity: 1;
}

.boss-cv-hero::after {
  height: 26%;
  background: linear-gradient(180deg, transparent, rgba(244, 248, 255, 0.92));
}

.boss-cv-hero-inner {
  width: min(100vw - 72px, 1840px);
  min-height: 100svh;
  display: block;
  padding: 114px 0 38px;
}

.boss-cv-hero-inner::before {
  display: none;
}

.hero-editor-stage {
  position: relative;
  min-height: calc(100svh - 152px);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.28)),
    linear-gradient(135deg, rgba(232, 241, 255, 0.9), rgba(248, 251, 255, 0.72));
  box-shadow:
    0 30px 90px rgba(74, 143, 187, 0.16),
    0 0 0 1px rgba(116, 162, 232, 0.18) inset;
}

.hero-editor-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.88) 32%, rgba(255, 255, 255, 0.94) 50%, rgba(255, 255, 255, 0.42) 72%, rgba(255, 255, 255, 0.1) 100%),
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.92), transparent 34%);
  pointer-events: none;
}

.hero-editor-rail {
  position: absolute;
  left: clamp(16px, 1.7vw, 34px);
  top: 96px;
  bottom: 72px;
  z-index: 2;
  width: 104px;
  padding: 22px 10px;
  display: grid;
  gap: 11px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 22px 54px rgba(68, 138, 181, 0.13);
  border: 1px solid rgba(91, 177, 222, 0.16);
}

.hero-editor-rail span {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 7px;
  min-height: 68px;
  border-radius: 14px;
  color: #526781;
  font-size: 13px;
  font-weight: 750;
}

.hero-editor-rail span.active {
  color: #166fff;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 24px rgba(71, 126, 209, 0.1);
}

.hero-editor-rail .ui-icon {
  width: 25px;
  height: 25px;
  stroke-width: 2.2;
}

.hero-form-card {
  position: absolute;
  left: clamp(130px, 8.2vw, 154px);
  top: 0;
  bottom: 0;
  z-index: 1;
  width: clamp(410px, 30vw, 560px);
  padding: 66px 28px 36px;
  border-radius: 24px 0 0 24px;
  background: rgba(255, 255, 255, 0.48);
  border-right: 1px solid rgba(116, 188, 226, 0.18);
}

.hero-form-card > header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #071d3c;
  font-size: 22px;
  font-weight: 900;
}

.hero-form-card > header i {
  width: 20px;
  height: 3px;
  border-radius: 999px;
  background: #115ccd;
}

.hero-profile-row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin-top: 58px;
}

.hero-avatar {
  position: relative;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  display: block;
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.8),
    0 18px 28px rgba(58, 83, 117, 0.14);
}

.hero-avatar img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.hero-avatar b {
  position: absolute;
  right: -5px;
  bottom: 4px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #2b75ff;
  box-shadow: 0 8px 16px rgba(54, 114, 189, 0.16);
}

.hero-avatar b .ui-icon {
  width: 16px;
  height: 16px;
}

.hero-profile-row h3 {
  margin: 0;
  color: #071d3c;
  font-size: 22px;
  font-weight: 900;
}

.hero-profile-row p,
.hero-skill-tags p {
  margin: 8px 0 0;
  color: rgba(58, 78, 108, 0.48);
  font-size: 14px;
  font-weight: 650;
}

.hero-form-grid {
  display: grid;
  gap: 16px;
  margin-top: 38px;
}

.hero-form-grid label {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  color: #263b5b;
  font-size: 17px;
  font-weight: 760;
}

.hero-form-grid b {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(95, 142, 190, 0.12);
  color: rgba(26, 48, 82, 0.78);
  font-size: 15px;
  font-weight: 760;
}

.hero-skill-tags {
  margin-top: 62px;
}

.hero-skill-tags strong {
  color: #071d3c;
  font-size: 22px;
  font-weight: 900;
}

.hero-skill-tags div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.hero-skill-tags div span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 15px;
  border-radius: 999px;
  color: #29425f;
  background: rgba(241, 247, 253, 0.78);
  border: 1px solid rgba(83, 133, 177, 0.1);
  font-size: 14px;
  font-weight: 750;
}

.hero-skill-tags .add {
  color: rgba(61, 86, 118, 0.46);
  border-style: dashed;
  background: rgba(255, 255, 255, 0.42);
}

.hero-editor-toolbar {
  position: absolute;
  left: clamp(510px, 33vw, 620px);
  right: clamp(348px, 27vw, 504px);
  top: 18px;
  z-index: 3;
  height: 54px;
  padding: 0 22px;
  display: flex;
  align-items: center;
  gap: 22px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(105, 158, 205, 0.12);
  color: rgba(27, 48, 82, 0.72);
  font-size: 17px;
  font-weight: 700;
}

.hero-editor-toolbar em {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #243456;
}

.hero-paper-preview {
  position: absolute;
  top: 84px;
  right: clamp(56px, 5.4vw, 92px);
  bottom: 26px;
  z-index: 2;
  width: clamp(500px, 35vw, 620px);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 32px 74px rgba(66, 134, 178, 0.16);
}

.paper-dotted-frame {
  position: absolute;
  inset: 12px;
  overflow: hidden;
  padding: 58px 50px 42px;
  border-radius: 18px;
  border: 3px dotted rgba(58, 123, 220, 0.54);
  background: rgba(255, 255, 255, 0.84);
}

.paper-dotted-frame header {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
}

.paper-dotted-frame h3 {
  margin: 0;
  color: #071d3c;
  font-size: 26px;
  font-weight: 950;
}

.paper-dotted-frame header p {
  margin: 10px 0 0;
  color: #405675;
  font-size: 15px;
  font-weight: 800;
}

.paper-dotted-frame header img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 8px rgba(241, 245, 249, 0.95);
}

.paper-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(51, 84, 126, 0.12);
  color: rgba(54, 75, 106, 0.68);
  font-size: 12px;
  font-weight: 700;
}

.paper-dotted-frame article {
  margin-top: 22px;
  color: #1c3150;
}

.paper-dotted-frame h4 {
  margin: 0 0 12px;
  color: #0849aa;
  font-size: 17px;
  font-weight: 950;
}

.paper-dotted-frame article div {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(90px, 0.6fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 9px;
  font-size: 12px;
}

.paper-dotted-frame article b {
  font-weight: 900;
}

.paper-dotted-frame article span,
.paper-dotted-frame article em {
  color: rgba(38, 58, 88, 0.64);
  font-style: normal;
  font-weight: 720;
}

.paper-dotted-frame article p {
  margin: 7px 0 0;
  padding-left: 12px;
  position: relative;
  color: rgba(35, 55, 86, 0.62);
  font-size: 12px;
  line-height: 1.55;
  font-weight: 650;
}

.paper-dotted-frame article p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #123f82;
}

.paper-corner {
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 138px;
  height: 138px;
  border-radius: 0 0 16px 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0) 49%, rgba(102, 155, 234, 0.42) 50%, rgba(67, 125, 211, 0.62));
  filter: drop-shadow(-14px -8px 18px rgba(50, 101, 178, 0.2));
}

.hero-grade-bubble {
  position: absolute;
  z-index: 5;
  right: clamp(4px, 1.8vw, 26px);
  top: 31%;
  width: 122px;
  height: 122px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  font-size: 52px;
  line-height: 1;
  font-weight: 950;
  background: radial-gradient(circle at 32% 26%, #8aa5ff, #7659ff 62%, #6446e9);
  box-shadow:
    0 22px 40px rgba(95, 78, 222, 0.28),
    0 0 0 8px rgba(255, 255, 255, 0.28) inset;
}

.hero-grade-bubble::after {
  content: "";
  position: absolute;
  left: 17px;
  bottom: 5px;
  width: 28px;
  height: 28px;
  border-radius: 4px 4px 4px 20px;
  background: #7659ff;
  transform: rotate(-18deg);
  z-index: -1;
}

.hero-float-tools {
  position: absolute;
  z-index: 5;
  right: 22px;
  bottom: 176px;
  display: grid;
  gap: 0;
  overflow: hidden;
  width: 66px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(105, 170, 224, 0.18);
  box-shadow: 0 16px 32px rgba(67, 128, 175, 0.16);
}

.hero-float-tools span {
  min-height: 58px;
  display: grid;
  place-items: center;
  color: #2674ff;
  font-size: 14px;
  font-weight: 820;
}

.hero-float-tools span + span {
  border-top: 1px solid rgba(105, 170, 224, 0.16);
}

.boss-cv-copy {
  position: absolute;
  z-index: 6;
  left: 50%;
  top: 37.5%;
  width: min(820px, 52vw);
  transform: translate(-50%, -50%);
  text-align: center;
}

.boss-cv-copy h1 {
  margin: 0;
  color: #071d3c;
  font-size: clamp(70px, 6.6vw, 116px);
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow:
    0 4px 0 rgba(255, 255, 255, 0.54),
    0 24px 46px rgba(34, 72, 121, 0.14);
  white-space: nowrap;
}

.boss-cv-copy h1 span {
  color: transparent;
  background: linear-gradient(95deg, #2872e2 0%, #649aeb 45%, #f4d313 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.boss-cv-copy p {
  max-width: none;
  margin: 30px auto 0;
  color: rgba(31, 52, 84, 0.78);
  font-size: clamp(22px, 1.45vw, 28px);
  line-height: 1.3;
  font-weight: 560;
}

.boss-cv-actions {
  margin-top: 36px;
  justify-content: center;
  align-items: center;
}

.boss-cv-primary {
  min-width: 340px;
  min-height: 76px;
  padding: 0 58px;
  border-radius: 999px;
  color: #071d3c;
  border: 3px solid rgba(255, 255, 255, 0.92);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.32), transparent 36%),
    linear-gradient(95deg, #8fff5d 0%, #488aee 52%, #1361d7 100%);
  font-size: 25px;
  font-weight: 950;
  box-shadow:
    0 0 0 8px rgba(72, 138, 238, 0.08),
    0 0 42px rgba(63, 131, 233, 0.46),
    0 22px 48px rgba(28, 93, 190, 0.22);
}

.boss-cv-primary::before {
  animation-duration: 3s;
}

.hero-benefit-strip {
  position: absolute;
  left: 50%;
  bottom: 118px;
  z-index: 6;
  transform: translateX(-50%);
  min-height: 48px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(67, 117, 193, 0.18);
  box-shadow: 0 16px 34px rgba(69, 134, 179, 0.12);
  backdrop-filter: blur(14px);
}

.hero-benefit-strip span {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #29425f;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
}

.hero-benefit-strip span::before {
  content: "";
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #4284e6, #135cc9) border-box;
  border: 2px solid transparent;
  box-shadow: inset 0 0 0 4px #ffffff;
}

@media (max-width: 1280px) {
  .boss-cv-shell .topbar {
    padding: 0 32px;
  }

  .boss-cv-shell .brand {
    min-width: 240px;
  }

  .boss-cv-shell .brand-name {
    font-size: 27px;
  }

  .boss-cv-shell .main-nav {
    gap: 20px;
  }

  .boss-cv-shell .main-nav button,
  .header-text-link {
    font-size: 15px;
  }

  .hero-form-card {
    opacity: 0.72;
  }

  .hero-paper-preview {
    right: 34px;
    width: 470px;
  }

  .boss-cv-copy {
    width: min(720px, 58vw);
  }
}

@media (max-width: 960px) {
  .boss-cv-shell .topbar {
    height: 72px;
    padding: 0 20px;
    background: linear-gradient(180deg, rgba(239, 245, 255, 0.88), rgba(239, 245, 255, 0));
  }

  .boss-cv-shell .brand {
    min-width: auto;
  }

  .boss-cv-shell .brand-mark {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .boss-cv-shell .brand-name {
    font-size: 24px;
  }

  .boss-cv-shell .main-nav,
  .boss-cv-shell .top-actions {
    display: none;
  }

  .boss-cv-hero-inner {
    width: min(100% - 28px, 640px);
    padding-top: 90px;
  }

  .hero-editor-stage {
    min-height: 760px;
  }

  .hero-editor-rail,
  .hero-form-card,
  .hero-editor-toolbar,
  .hero-float-tools {
    display: none;
  }

  .hero-paper-preview {
    left: 50%;
    right: auto;
    top: 310px;
    bottom: auto;
    width: min(92%, 420px);
    height: 410px;
    transform: translateX(-50%);
    opacity: 0.76;
  }

  .paper-dotted-frame {
    padding: 36px 28px;
  }

  .hero-grade-bubble {
    top: 372px;
    right: 6px;
    width: 86px;
    height: 86px;
    font-size: 36px;
  }

  .boss-cv-copy {
    top: 170px;
    width: 100%;
  }

  .boss-cv-copy h1 {
    white-space: normal;
    font-size: clamp(48px, 13vw, 72px);
  }

  .boss-cv-copy p {
    width: min(100%, 420px);
    font-size: 18px;
  }

  .boss-cv-primary {
    min-width: min(100%, 300px);
    min-height: 58px;
    padding: 0 30px;
    font-size: 18px;
  }

  .hero-benefit-strip {
    bottom: 26px;
    width: min(92%, 460px);
    flex-wrap: wrap;
    justify-content: center;
    padding: 12px 14px;
    border-radius: 22px;
    gap: 10px 14px;
  }

  .hero-benefit-strip span {
    font-size: 12px;
  }
}

/* Homepage BOSS light hero v45 QA tune */
.boss-cv-shell .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: auto;
  margin: 0;
}

.boss-cv-shell .brand,
.boss-cv-shell .main-nav,
.boss-cv-shell .top-actions {
  position: static;
  left: auto;
  top: auto;
}

.boss-cv-shell .brand {
  flex: 0 0 330px;
}

.boss-cv-shell .main-nav {
  flex: 1 1 auto;
  justify-content: flex-start;
  margin-left: 42px;
  transform: none !important;
}

.boss-cv-shell .top-actions {
  flex: 0 0 auto;
}

.boss-cv-copy {
  top: 37.5%;
  left: 50%;
  width: min(820px, 52vw);
  animation: none !important;
  transform: translate(-50%, -50%) !important;
}

.boss-cv-copy h1 {
  font-size: clamp(64px, 5.7vw, 102px);
}

.boss-cv-copy p {
  margin-top: 24px;
}

.boss-cv-actions {
  margin-top: 34px;
}

.hero-benefit-strip {
  bottom: 132px;
}

@media (max-width: 1280px) {
  .boss-cv-shell .brand {
    flex-basis: 270px;
  }
}

@media (max-width: 960px) {
  .boss-cv-shell .brand,
  .boss-cv-shell .main-nav,
  .boss-cv-shell .top-actions {
    position: static;
  }

  .boss-cv-copy {
    transform: translateX(-50%) !important;
  }
}

/* Homepage BOSS light hero mask refinement v46 */
.hero-editor-stage::after {
  content: "";
  position: absolute;
  z-index: 4;
  left: clamp(420px, 27vw, 520px);
  top: clamp(205px, 22vh, 250px);
  width: clamp(650px, 45vw, 840px);
  height: clamp(390px, 39vh, 470px);
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 50% 46%, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.84) 42%, rgba(255, 255, 255, 0.56) 68%, rgba(255, 255, 255, 0) 100%);
  filter: blur(1px);
  backdrop-filter: none;
  pointer-events: none;
}

.hero-paper-preview::before {
  content: "";
  position: absolute;
  z-index: 3;
  left: -10%;
  top: 25%;
  width: 42%;
  height: 38%;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.38) 62%, rgba(255, 255, 255, 0));
  filter: blur(5px);
  pointer-events: none;
}

.hero-form-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: -180px;
  top: 210px;
  width: 330px;
  height: 360px;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.42) 58%, rgba(255, 255, 255, 0));
  filter: blur(14px);
  pointer-events: none;
}

.boss-cv-copy {
  left: 47%;
  top: 40.8%;
  width: min(760px, 48vw);
}

.boss-cv-copy h1 {
  font-size: clamp(62px, 5.45vw, 96px);
  text-shadow:
    0 3px 0 rgba(255, 255, 255, 0.66),
    0 20px 42px rgba(34, 72, 121, 0.12);
}

.boss-cv-copy p {
  margin-top: 22px;
  color: rgba(30, 50, 80, 0.72);
  text-shadow: 0 2px 10px rgba(255, 255, 255, 0.9);
}

.boss-cv-actions {
  margin-top: 30px;
}

.boss-cv-primary {
  min-width: 316px;
  min-height: 72px;
  font-size: 23px;
}

.hero-benefit-strip {
  left: 47%;
  bottom: 204px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(10px) saturate(112%);
}

.paper-dotted-frame {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.8)),
    rgba(255, 255, 255, 0.84);
}

@media (max-width: 1280px) {
  .hero-editor-stage::after {
    left: 28%;
    width: 54%;
  }

  .boss-cv-copy,
  .hero-benefit-strip {
    left: 48%;
  }
}

@media (max-width: 960px) {
  .hero-editor-stage::after,
  .hero-paper-preview::before,
  .hero-form-card::after {
    display: none;
  }

  .boss-cv-copy,
  .hero-benefit-strip {
    left: 50%;
  }
}

/* Homepage BOSS light Image2 background C v47 */
.hero-editor-stage {
  background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 52%, #e5efff 100%) !important;
  overflow: hidden !important;
}

.hero-editor-stage::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  background-image: url("./assets/home-boss-light-bg-c-v47.png?v=2026.06.26.boss-light-bg-c-v47") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 0.97 !important;
  filter: saturate(0.98) contrast(0.98) !important;
  pointer-events: none !important;
}

.hero-editor-stage::after {
  display: none !important;
}

.hero-editor-rail,
.hero-form-card,
.hero-editor-toolbar,
.hero-paper-preview,
.hero-grade-bubble,
.hero-float-tools {
  display: none !important;
}

.boss-cv-copy {
  z-index: 6 !important;
  left: 50% !important;
  top: 42.5% !important;
  width: min(760px, 48vw) !important;
  transform: translate(-50%, -50%) !important;
  animation: none !important;
}

.boss-cv-copy h1 {
  font-size: clamp(52px, 4.55vw, 82px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-shadow:
    0 3px 0 rgba(255, 255, 255, 0.64),
    0 18px 38px rgba(34, 72, 121, 0.1) !important;
}

.boss-cv-copy p {
  margin-top: 36px !important;
  font-size: clamp(19px, 1.22vw, 24px) !important;
  line-height: 1.45 !important;
  color: rgba(30, 50, 80, 0.74) !important;
  text-shadow: 0 2px 10px rgba(255, 255, 255, 0.88) !important;
}

.boss-cv-actions {
  margin-top: 54px !important;
}

.boss-cv-primary {
  min-width: 306px !important;
  min-height: 68px !important;
  font-size: 22px !important;
  box-shadow:
    inset 0 10px 0 rgba(255, 255, 255, 0.32),
    0 0 0 5px rgba(255, 255, 255, 0.8),
    0 20px 42px rgba(37, 108, 214, 0.34),
    0 10px 22px rgba(95, 151, 236, 0.24) !important;
}

.hero-benefit-strip {
  z-index: 6 !important;
  left: 50% !important;
  bottom: 138px !important;
  transform: translateX(-50%) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(10px) saturate(112%) !important;
  box-shadow: 0 16px 34px rgba(68, 120, 164, 0.12) !important;
}

@media (max-width: 1280px) {
  .boss-cv-copy {
    width: min(700px, 52vw) !important;
  }

  .boss-cv-copy h1 {
    font-size: clamp(50px, 5vw, 76px) !important;
  }

  .hero-benefit-strip {
    bottom: 118px !important;
  }
}

@media (max-width: 960px) {
  .hero-editor-stage::before {
    background-position: center top !important;
    opacity: 0.5 !important;
  }

  .boss-cv-copy {
    top: 45% !important;
    width: min(560px, 86vw) !important;
  }

  .boss-cv-copy h1 {
    font-size: clamp(44px, 11vw, 62px) !important;
  }

  .boss-cv-copy p {
    margin-top: 24px !important;
  }

  .boss-cv-actions {
    margin-top: 34px !important;
  }

  .hero-benefit-strip {
    bottom: 72px !important;
    width: min(640px, 88vw) !important;
  }
}

/* Homepage polish v48: scrolled header, clearer templates, dark footer; version=2026.06.26.home-polish-v48 */
.boss-cv-shell .topbar {
  transition:
    background 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease,
    backdrop-filter 0.24s ease;
}

.boss-cv-shell .topbar.is-scrolled {
  background: rgba(247, 250, 255, 0.88) !important;
  border-bottom: 1px solid rgba(92, 154, 190, 0.16) !important;
  box-shadow:
    0 12px 34px rgba(38, 98, 138, 0.11),
    0 1px 0 rgba(255, 255, 255, 0.72) inset !important;
  backdrop-filter: blur(18px) saturate(138%) !important;
}

.boss-cv-templates {
  width: min(1680px, calc(100% - 96px)) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(49, 115, 213, 0.1), transparent 34%),
    rgba(255, 255, 255, 0.72) !important;
}

.boss-cv-template-grid {
  gap: clamp(22px, 2.2vw, 32px) !important;
}

.boss-cv-template-card {
  padding: 20px 22px 30px !important;
  border: 1px solid rgba(79, 121, 184, 0.18) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 20px 46px rgba(55, 124, 160, 0.08) !important;
}

.boss-cv-template-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 26px 58px rgba(55, 124, 160, 0.13) !important;
}

.boss-cv-template-card .template-shot {
  height: clamp(470px, 30vw, 560px) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.boss-cv-template-card .template-shot::after {
  display: none !important;
}

.boss-cv-template-card .template-shot img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: top center !important;
  transform: scale(1.03) !important;
  transform-origin: top center !important;
  filter: contrast(1.04) saturate(1.02) !important;
}

.boss-cv-template-card h3 {
  margin-top: 0 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
}

.boss-cv-template-card > span {
  margin-top: 12px !important;
  font-size: 16px !important;
}

.boss-cv-template-card p {
  margin-top: 12px !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.restore-footer-bridge {
  width: 100% !important;
  max-width: none !important;
  margin: 64px 0 0 !important;
  padding: 58px clamp(72px, 11vw, 210px) 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(29, 100, 207, 0.12), transparent 28%),
    linear-gradient(180deg, #071a33 0%, #061225 100%) !important;
  box-shadow: none !important;
  color: rgba(224, 239, 250, 0.72) !important;
}

.restore-footer-bridge > div:first-child .brand-mark {
  background: #061225 !important;
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.12) inset !important;
}

.restore-footer-bridge strong,
.restore-footer-bridge b {
  color: #f7fbff !important;
}

.restore-footer-bridge span {
  color: rgba(224, 239, 250, 0.64) !important;
}

.restore-footer-copy {
  margin: 48px calc(clamp(72px, 11vw, 210px) * -1) 0 !important;
  padding: 22px clamp(72px, 11vw, 210px) !important;
  border-top: 1px solid rgba(177, 201, 238, 0.16) !important;
  background: rgba(0, 8, 21, 0.22) !important;
  color: rgba(224, 239, 250, 0.58) !important;
}

.restore-footer-copy a {
  color: rgba(224, 239, 250, 0.72) !important;
}

.restore-footer-version {
  border-color: rgba(45, 117, 226, 0.28) !important;
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(224, 239, 250, 0.72) !important;
}

@media (max-width: 1180px) {
  .boss-cv-templates {
    width: min(1180px, calc(100% - 48px)) !important;
  }

  .boss-cv-template-card .template-shot {
    height: 360px !important;
  }

  .restore-footer-bridge {
    padding-inline: clamp(28px, 6vw, 72px) !important;
  }

  .restore-footer-copy {
    margin-inline: calc(clamp(28px, 6vw, 72px) * -1) !important;
    padding-inline: clamp(28px, 6vw, 72px) !important;
  }
}

@media (max-width: 720px) {
  .boss-cv-template-card .template-shot {
    height: 390px !important;
  }
}

/* Homepage layout tune v49: adaptive CTA proof tags and unified section width; version=2026.06.26.hero-layout-v49 */
.boss-cv-home {
  --home-wide-section: min(1680px, calc(100% - 96px));
  --home-mid-section: min(1680px, calc(100% - 96px));
}

.boss-cv-copy {
  width: min(820px, 52vw) !important;
}

.boss-cv-actions {
  margin-top: 52px !important;
}

.boss-cv-primary {
  min-width: clamp(268px, 18vw, 328px) !important;
  min-height: 66px !important;
  padding: 0 clamp(34px, 3.2vw, 54px) !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 999px !important;
  font-size: clamp(19px, 1.2vw, 22px) !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
  box-shadow:
    inset 0 9px 0 rgba(255, 255, 255, 0.3),
    0 0 0 2px rgba(255, 255, 255, 0.62),
    0 18px 38px rgba(37, 108, 214, 0.28),
    0 8px 18px rgba(95, 151, 236, 0.18) !important;
}

.hero-benefit-strip {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  width: fit-content !important;
  max-width: min(250px, 100%) !important;
  min-height: 34px !important;
  margin: 26px auto 0 !important;
  transform: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px 14px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(67, 117, 193, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 12px 28px rgba(68, 120, 164, 0.09) !important;
  backdrop-filter: blur(9px) saturate(112%) !important;
}

.hero-benefit-strip span {
  gap: 5px !important;
  color: rgba(23, 42, 68, 0.78) !important;
  font-size: clamp(11px, 0.72vw, 13px) !important;
  font-weight: 820 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.hero-benefit-strip span::before {
  content: "✓" !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(17, 90, 199, 0.48) !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(231, 241, 255, 0.9)) !important;
  box-shadow: none !important;
  color: #1054b9 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.boss-cv-detail-head,
.boss-cv-section,
.boss-cv-flow,
.boss-cv-final {
  width: var(--home-mid-section) !important;
}

.boss-cv-editor-showcase,
.boss-cv-dual-tools,
.boss-cv-ai-panel,
.boss-cv-testimonials,
.boss-cv-final {
  width: var(--home-wide-section) !important;
}

.boss-cv-section-head {
  gap: clamp(22px, 3vw, 54px) !important;
}

.boss-cv-editor-showcase {
  padding: clamp(38px, 3.6vw, 58px) !important;
}

.boss-cv-editor-layout {
  grid-template-columns: minmax(420px, 0.72fr) minmax(720px, 1.28fr) !important;
  gap: clamp(24px, 2.5vw, 42px) !important;
}

.boss-cv-editor-preview {
  min-height: clamp(520px, 34vw, 620px) !important;
}

.editor-preview-body {
  grid-template-columns: minmax(132px, 170px) minmax(0, 1fr) minmax(170px, 210px) !important;
}

@media (max-width: 1360px) {
  .boss-cv-home {
    --home-wide-section: min(1180px, calc(100% - 56px));
    --home-mid-section: min(1180px, calc(100% - 56px));
  }

  .boss-cv-copy {
    width: min(700px, 54vw) !important;
  }

  .boss-cv-editor-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 960px) {
  .boss-cv-home {
    --home-wide-section: min(640px, calc(100% - 28px));
    --home-mid-section: min(640px, calc(100% - 28px));
  }

  .boss-cv-copy {
    width: min(560px, 86vw) !important;
  }

  .boss-cv-actions {
    margin-top: 34px !important;
  }

  .boss-cv-primary {
    min-width: min(100%, 286px) !important;
    min-height: 58px !important;
    padding: 0 28px !important;
    font-size: 18px !important;
  }

  .hero-benefit-strip {
    max-width: min(250px, 92vw) !important;
    margin-top: 18px !important;
    border-radius: 18px !important;
    gap: 8px 12px !important;
  }

  .hero-benefit-strip span {
    font-size: 12px !important;
  }

  .boss-cv-editor-showcase {
    padding: 26px !important;
  }
}

/* VIP modal polish v53 */
.modal-mask:has(.vip-upgrade-modal) {
  padding: 28px !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(92, 157, 255, 0.22), transparent 34%),
    radial-gradient(circle at 86% 0%, rgba(122, 78, 246, 0.18), transparent 36%),
    rgba(15, 27, 50, 0.28) !important;
  backdrop-filter: blur(12px) saturate(118%) !important;
}

.modal.vip-upgrade-modal {
  position: relative !important;
  width: min(1420px, calc(100vw - 56px)) !important;
  max-width: none !important;
  max-height: calc(100vh - 56px) !important;
  overflow: auto !important;
  padding: clamp(26px, 2.8vw, 38px) clamp(28px, 3.8vw, 54px) 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(153, 132, 255, 0.2), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(101, 200, 255, 0.2), transparent 32%),
    linear-gradient(135deg, rgba(241, 250, 255, 0.98) 0%, rgba(255, 255, 255, 0.96) 46%, rgba(244, 239, 255, 0.96) 100%) !important;
  box-shadow:
    0 34px 86px rgba(47, 84, 144, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
  color: #071938 !important;
}

.modal.vip-upgrade-modal::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(90deg, transparent, rgba(138, 92, 255, 0.08), transparent),
    radial-gradient(circle at 82% 8%, rgba(86, 137, 255, 0.12), transparent 26%) !important;
}

.vip-modal-top,
.vip-plans,
.vip-benefit-bar,
.vip-modal-note {
  position: relative !important;
  z-index: 1 !important;
}

.vip-modal-top {
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) minmax(360px, 1.15fr) minmax(220px, 1fr) !important;
  align-items: start !important;
  gap: 20px !important;
  margin-bottom: clamp(22px, 2.3vw, 30px) !important;
}

.vip-modal-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.vip-modal-brand .brand-mark {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 13px !important;
}

.vip-modal-brand b {
  display: block !important;
  color: #071938 !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}

.vip-modal-brand span {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(49, 67, 100, 0.72) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.vip-modal-heading {
  text-align: center !important;
}

.modal.vip-upgrade-modal .vip-modal-heading h2 {
  margin: 0 !important;
  color: #061436 !important;
  font-size: clamp(34px, 3.3vw, 52px) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.vip-modal-heading p {
  margin: 14px 0 0 !important;
  color: rgba(44, 57, 95, 0.72) !important;
  font-size: clamp(16px, 1.25vw, 20px) !important;
  font-weight: 780 !important;
  letter-spacing: 0.04em !important;
}

.vip-modal-tools {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 18px !important;
}

.vip-modal-tools button {
  border: 0 !important;
  background: transparent !important;
  color: #172344 !important;
  font-size: 15px !important;
  font-weight: 820 !important;
}

.vip-modal-tools .close {
  position: static !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  color: rgba(23, 35, 68, 0.8) !important;
}

.vip-modal-tools .close:hover {
  background: rgba(107, 119, 232, 0.1) !important;
}

.vip-plans {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
}

.vip-plan {
  position: relative !important;
  min-height: 506px !important;
  padding: clamp(20px, 1.8vw, 26px) clamp(20px, 2.1vw, 30px) !important;
  border: 1px solid rgba(144, 171, 221, 0.48) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.72)),
    radial-gradient(circle at 50% 0%, rgba(127, 162, 255, 0.12), transparent 34%) !important;
  box-shadow: 0 18px 44px rgba(68, 112, 171, 0.11) !important;
  overflow: hidden !important;
}

.vip-plan.featured,
.vip-plan.active.featured {
  border-color: rgba(99, 160, 252, 0.94) !important;
  box-shadow:
    0 0 0 3px rgba(139, 92, 246, 0.3),
    0 18px 48px rgba(66, 123, 232, 0.2),
    inset 0 0 0 1px rgba(255, 255, 255, 0.86) !important;
}

.vip-plan.active:not(.featured) {
  border-color: rgba(112, 100, 248, 0.58) !important;
  box-shadow: 0 18px 46px rgba(82, 101, 220, 0.16) !important;
}

.vip-ribbon {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 9px 18px 11px 24px !important;
  border-radius: 0 18px 0 22px !important;
  background: linear-gradient(135deg, #8b5cf6, #4f8cff) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 26px rgba(98, 104, 245, 0.3) !important;
}

.vip-ribbon .ui-icon {
  width: 18px !important;
  height: 18px !important;
}

.vip-plan-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 34px !important;
  margin-top: 8px !important;
  color: #071938 !important;
}

.vip-plan-title b {
  font-size: clamp(21px, 1.65vw, 26px) !important;
  font-weight: 930 !important;
  line-height: 1.15 !important;
}

.vip-plan-title span {
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(124, 92, 255, 0.16), rgba(68, 132, 229, 0.15)) !important;
  color: #5f4ef4 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.vip-price {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 78px !important;
  margin: 14px 0 2px !important;
  color: #6a45f6 !important;
}

.vip-price em {
  font-size: 30px !important;
  font-style: normal !important;
  font-weight: 930 !important;
}

.vip-price strong {
  font-size: clamp(42px, 4.2vw, 68px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
}

.vip-price small {
  color: #304163 !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

.vip-plan-cta {
  width: 100% !important;
  height: 52px !important;
  margin: 8px 0 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #73abff 0%, #5aa2ff 48%, #2f7df6 100%) !important;
  box-shadow:
    inset 0 8px 0 rgba(255, 255, 255, 0.25),
    0 12px 28px rgba(16, 86, 190, 0.22) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 920 !important;
}

.vip-plan-cta.ghost {
  border: 2px solid rgba(17, 87, 193, 0.8) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: none !important;
  color: #0746a5 !important;
}

.vip-feature-divider {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(54, 74, 119, 0.8) !important;
  font-size: 14px !important;
  font-weight: 820 !important;
  white-space: nowrap !important;
}

.vip-feature-divider span {
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(93, 120, 205, 0.36), transparent) !important;
}

.vip-feature-list {
  display: grid !important;
  gap: 10px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.vip-feature-list li {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  color: rgba(38, 53, 91, 0.72) !important;
  font-size: 15px !important;
  font-weight: 780 !important;
}

.vip-feature-name {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
}

.vip-feature-name .ui-icon {
  width: 16px !important;
  height: 16px !important;
  color: #7b75ff !important;
  stroke-width: 2.5 !important;
}

.vip-feature-text {
  flex: 0 0 auto !important;
  color: #314163 !important;
  font-weight: 820 !important;
}

.vip-feature-check,
.vip-feature-no {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

.vip-feature-check {
  background: #1053b8 !important;
  color: #ffffff !important;
}

.vip-feature-check .ui-icon {
  width: 13px !important;
  height: 13px !important;
  stroke-width: 3 !important;
}

.vip-feature-no {
  background: rgba(95, 105, 124, 0.4) !important;
  color: #ffffff !important;
}

.vip-benefit-bar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 28px !important;
  padding: 16px 28px !important;
  border: 1px solid rgba(145, 164, 211, 0.36) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.64) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.vip-benefit-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  min-height: 58px !important;
  padding: 0 22px !important;
  border-right: 1px solid rgba(96, 115, 164, 0.16) !important;
}

.vip-benefit-item:last-child {
  border-right: 0 !important;
}

.vip-benefit-item > span {
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #7a4ef6, #2670df) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(82, 113, 232, 0.23) !important;
}

.vip-benefit-item .ui-icon {
  width: 28px !important;
  height: 28px !important;
  stroke-width: 2.2 !important;
}

.vip-benefit-item b,
.vip-benefit-item small {
  display: block !important;
}

.vip-benefit-item b {
  color: #101d3b !important;
  font-size: 17px !important;
  font-weight: 920 !important;
}

.vip-benefit-item small {
  margin-top: 5px !important;
  color: rgba(50, 65, 101, 0.68) !important;
  font-size: 13px !important;
  font-weight: 760 !important;
}

.vip-modal-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
  color: rgba(57, 75, 117, 0.74) !important;
  font-size: 15px !important;
  font-weight: 820 !important;
}

.vip-modal-note .ui-icon {
  width: 22px !important;
  height: 22px !important;
  color: #6f62ff !important;
}

@media (max-width: 1180px) {
  .vip-modal-top {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .vip-modal-brand,
  .vip-modal-tools {
    justify-content: center !important;
  }

  .vip-plans,
  .vip-benefit-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .vip-benefit-item:nth-child(2) {
    border-right: 0 !important;
  }

  .vip-benefit-item:nth-child(n + 3) {
    border-top: 1px solid rgba(96, 115, 164, 0.16) !important;
  }
}

@media (max-width: 700px) {
  .modal-mask:has(.vip-upgrade-modal) {
    padding: 14px !important;
  }

  .modal.vip-upgrade-modal {
    width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 28px) !important;
    padding: 22px 16px 24px !important;
    border-radius: 22px !important;
  }

  .modal.vip-upgrade-modal .vip-modal-heading h2 {
    font-size: 30px !important;
  }

  .vip-modal-tools {
    gap: 10px !important;
  }

  .vip-plans,
  .vip-benefit-bar {
    grid-template-columns: 1fr !important;
  }

  .vip-plan {
    min-height: auto !important;
  }

  .vip-benefit-item,
  .vip-benefit-item:nth-child(2) {
    justify-content: flex-start !important;
    border-right: 0 !important;
    border-top: 1px solid rgba(96, 115, 164, 0.16) !important;
  }

  .vip-benefit-item:first-child {
    border-top: 0 !important;
  }
}

/* Homepage hero CTA and benefit tags tune v59; version=2026.06.26.logo-image2-hero-tags-v59 */
.boss-cv-primary {
  position: relative !important;
  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.6),
    inset 0 -1px 0 rgba(0, 60, 149, 0.16),
    0 16px 34px rgba(29, 99, 205, 0.28),
    0 0 34px rgba(121, 175, 255, 0.18) !important;
}

.boss-cv-primary::before {
  content: "" !important;
  position: absolute !important;
  top: 9px !important;
  left: 11% !important;
  right: 11% !important;
  width: auto !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.08) 0%,
    rgba(255, 255, 255, 0.48) 18%,
    rgba(255, 255, 255, 0.3) 58%,
    rgba(255, 255, 255, 0.08) 100%
  ) !important;
  opacity: 0.72 !important;
  transform: none !important;
  pointer-events: none !important;
  animation: none !important;
}

.boss-cv-primary::after {
  content: "" !important;
  position: absolute !important;
  inset: -44% auto -44% -34% !important;
  width: 34% !important;
  height: auto !important;
  border-radius: 0 !important;
  background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.26) 48%, transparent 100%) !important;
  opacity: 0.38 !important;
  transform: translateX(-40%) rotate(0deg) !important;
  pointer-events: none !important;
  animation: ctaSoftGlide 4.2s ease-in-out infinite !important;
}

@keyframes ctaSoftGlide {
  0%,
  42% {
    transform: translateX(-40%) rotate(0deg);
    opacity: 0;
  }
  58% {
    opacity: 0.38;
  }
  100% {
    transform: translateX(430%) rotate(0deg);
    opacity: 0;
  }
}

.hero-benefit-strip {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: min(264px, 100%) !important;
  min-height: 0 !important;
  margin: 20px auto 0 !important;
  padding: 0 !important;
  transform: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.hero-benefit-strip span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  color: rgba(23, 42, 68, 0.74) !important;
  font-size: clamp(12px, 0.74vw, 13px) !important;
  font-weight: 880 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.hero-benefit-strip span::before {
  content: "✓" !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1.5px solid rgba(22, 95, 204, 0.55) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.52) !important;
  box-shadow: 0 5px 12px rgba(29, 99, 205, 0.13) !important;
  color: #1355b9 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

@media (max-width: 960px) {
  .hero-benefit-strip {
    max-width: min(264px, 88vw) !important;
    margin-top: 18px !important;
    gap: 8px 10px !important;
  }

  .boss-cv-primary::before {
    top: 8px !important;
    left: 10% !important;
    right: 10% !important;
    height: 8px !important;
  }
}

/* VIP modal compact fit and download icon fix v60; version=2026.06.26.vip-compact-download-v60 */
@media (min-width: 1181px) {
  html:has(.vip-upgrade-modal),
  body:has(.vip-upgrade-modal) {
    overflow: hidden !important;
  }

  .modal-mask:has(.vip-upgrade-modal) {
    padding: 18px !important;
    overflow: hidden !important;
  }

  .modal.vip-upgrade-modal {
    width: min(1320px, calc(100vw - 44px)) !important;
    max-height: calc(100vh - 36px) !important;
    overflow: hidden !important;
    padding: clamp(18px, 1.65vw, 26px) clamp(24px, 2.7vw, 38px) 20px !important;
    border-radius: 24px !important;
  }

  .vip-modal-top {
    grid-template-columns: minmax(176px, 0.9fr) minmax(340px, 1.2fr) minmax(210px, 0.95fr) !important;
    gap: 16px !important;
    margin-bottom: clamp(14px, 1.45vw, 20px) !important;
  }

  .vip-modal-brand {
    gap: 10px !important;
  }

  .vip-modal-brand .brand-mark {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 12px !important;
  }

  .vip-modal-brand b {
    font-size: 20px !important;
  }

  .vip-modal-brand span {
    margin-top: 2px !important;
    font-size: 13px !important;
  }

  .modal.vip-upgrade-modal .vip-modal-heading h2 {
    font-size: clamp(34px, 3vw, 44px) !important;
  }

  .vip-modal-heading p {
    margin-top: 8px !important;
    font-size: clamp(15px, 1.05vw, 17px) !important;
  }

  .vip-modal-tools {
    gap: 14px !important;
  }

  .vip-modal-tools button {
    font-size: 14px !important;
  }

  .vip-modal-tools .close {
    width: 34px !important;
    height: 34px !important;
  }

  .vip-plans {
    gap: clamp(14px, 1.35vw, 20px) !important;
  }

  .vip-plan {
    min-height: 410px !important;
    padding: 18px clamp(18px, 1.7vw, 24px) 16px !important;
    border-radius: 16px !important;
  }

  .vip-ribbon {
    padding: 7px 14px 9px 20px !important;
    border-radius: 0 16px 0 20px !important;
    font-size: 14px !important;
  }

  .vip-ribbon .ui-icon {
    width: 16px !important;
    height: 16px !important;
  }

  .vip-plan-title {
    min-height: 28px !important;
    margin-top: 4px !important;
  }

  .vip-plan-title b {
    font-size: clamp(20px, 1.45vw, 23px) !important;
  }

  .vip-plan-title span {
    padding: 4px 9px !important;
    font-size: 12px !important;
  }

  .vip-price {
    min-height: 58px !important;
    margin: 10px 0 0 !important;
    gap: 8px !important;
  }

  .vip-price em {
    font-size: 24px !important;
  }

  .vip-price strong {
    font-size: clamp(38px, 3.55vw, 54px) !important;
  }

  .vip-price small {
    font-size: 15px !important;
  }

  .vip-plan-cta {
    height: 44px !important;
    margin: 6px 0 12px !important;
    font-size: 16px !important;
  }

  .vip-plan-cta.ghost {
    border-width: 1.5px !important;
  }

  .vip-feature-divider {
    gap: 8px !important;
    font-size: 13px !important;
  }

  .vip-feature-list {
    gap: 6px !important;
    margin-top: 10px !important;
  }

  .vip-feature-list li {
    gap: 10px !important;
    font-size: 13.5px !important;
    line-height: 1.18 !important;
  }

  .vip-feature-name {
    gap: 7px !important;
  }

  .vip-feature-name .ui-icon {
    width: 15px !important;
    height: 15px !important;
  }

  .vip-feature-check,
  .vip-feature-no {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
    font-size: 12px !important;
  }

  .vip-feature-check .ui-icon {
    width: 11px !important;
    height: 11px !important;
  }

  .vip-benefit-bar {
    margin-top: 14px !important;
    padding: 12px 22px !important;
    border-radius: 16px !important;
  }

  .vip-benefit-item {
    min-height: 48px !important;
    gap: 12px !important;
    padding: 0 18px !important;
  }

  .vip-benefit-item > span {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 13px !important;
  }

  .vip-benefit-item .ui-icon {
    width: 23px !important;
    height: 23px !important;
  }

  .vip-benefit-item b {
    font-size: 15px !important;
  }

  .vip-benefit-item small {
    margin-top: 2px !important;
    font-size: 12px !important;
  }

  .vip-modal-note {
    margin-top: 10px !important;
    font-size: 13px !important;
  }

  .vip-modal-note .ui-icon {
    width: 18px !important;
    height: 18px !important;
  }
}

@media (min-width: 1181px) and (max-height: 820px) {
  .modal-mask:has(.vip-upgrade-modal) {
    padding: 12px !important;
  }

  .modal.vip-upgrade-modal {
    max-height: calc(100vh - 24px) !important;
    padding: 14px 26px 14px !important;
  }

  .vip-modal-top {
    margin-bottom: 10px !important;
  }

  .modal.vip-upgrade-modal .vip-modal-heading h2 {
    font-size: 34px !important;
  }

  .vip-modal-heading p {
    margin-top: 4px !important;
    font-size: 14px !important;
  }

  .vip-plan {
    min-height: 374px !important;
    padding-top: 14px !important;
    padding-bottom: 13px !important;
  }

  .vip-price {
    min-height: 50px !important;
    margin-top: 6px !important;
  }

  .vip-price strong {
    font-size: 44px !important;
  }

  .vip-plan-cta {
    height: 40px !important;
    margin-bottom: 9px !important;
  }

  .vip-feature-list {
    gap: 4px !important;
    margin-top: 8px !important;
  }

  .vip-benefit-bar {
    margin-top: 10px !important;
    padding: 9px 18px !important;
  }

  .vip-benefit-item {
    min-height: 42px !important;
  }

  .vip-benefit-item > span {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  .vip-modal-note {
    margin-top: 7px !important;
  }
}

/* Login/register modal polish v61a; version=2026.06.26.login-modal-polish-v61a */
.modal-mask:has(.login-upgrade-modal) {
  padding: 22px !important;
  background:
    radial-gradient(circle at 16% 8%, rgba(87, 154, 255, 0.2), transparent 34%),
    radial-gradient(circle at 82% 4%, rgba(124, 92, 255, 0.18), transparent 34%),
    rgba(15, 23, 42, 0.38) !important;
  backdrop-filter: blur(14px) saturate(116%) !important;
}

.modal.login-upgrade-modal {
  position: relative !important;
  width: min(560px, calc(100vw - 44px)) !important;
  box-sizing: border-box !important;
  max-width: none !important;
  max-height: calc(100vh - 44px) !important;
  overflow: hidden !important;
  padding: clamp(28px, 3vw, 38px) clamp(26px, 3.4vw, 42px) 30px !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(75, 147, 255, 0.18), transparent 34%),
    radial-gradient(circle at 94% 0%, rgba(132, 102, 255, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(244, 251, 255, 0.98), rgba(255, 255, 255, 0.96) 48%, rgba(246, 241, 255, 0.96)) !important;
  box-shadow:
    0 34px 86px rgba(47, 84, 144, 0.27),
    inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  color: #071938 !important;
}

.modal.login-upgrade-modal::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(90deg, transparent, rgba(138, 92, 255, 0.08), transparent),
    radial-gradient(circle at 18% 16%, rgba(49, 119, 225, 0.12), transparent 22%) !important;
}

.login-upgrade-modal > * {
  position: relative !important;
  z-index: 1 !important;
}

.login-upgrade-modal .close {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  width: 46px !important;
  height: 46px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(145, 164, 211, 0.38) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.7) !important;
  color: rgba(11, 25, 56, 0.78) !important;
  box-shadow: 0 14px 30px rgba(77, 111, 166, 0.1) !important;
}

.login-upgrade-modal .close:hover {
  background: rgba(255, 255, 255, 0.92) !important;
  color: #071938 !important;
}

.login-upgrade-modal .close .ui-icon {
  width: 25px !important;
  height: 25px !important;
  stroke-width: 2.4 !important;
}

.login-modal-brand {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding-right: 58px !important;
}

.login-modal-brand .brand-mark {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 34px rgba(54, 126, 216, 0.2) !important;
}

.login-modal-brand b {
  display: block !important;
  color: #071938 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 960 !important;
  line-height: 1.1 !important;
}

.login-modal-brand span {
  display: block !important;
  margin-top: 6px !important;
  color: rgba(49, 67, 100, 0.68) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.login-modal-heading {
  margin-top: 24px !important;
}

.login-modal-heading > span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(45, 117, 226, 0.26) !important;
  border-radius: 999px !important;
  background: rgba(45, 117, 226, 0.08) !important;
  color: #0848a8 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.login-upgrade-modal h2 {
  margin: 12px 0 0 !important;
  color: #071938 !important;
  font-size: clamp(28px, 2.4vw, 34px) !important;
  font-weight: 940 !important;
  line-height: 1.18 !important;
}

.login-upgrade-modal p {
  margin: 12px 0 0 !important;
  color: rgba(48, 65, 99, 0.72) !important;
  font-size: 16px !important;
  font-weight: 720 !important;
  line-height: 1.75 !important;
}

.login-field-stack {
  display: grid !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.login-field {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 58px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(145, 164, 211, 0.34) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.login-field:focus-within {
  border-color: rgba(25, 97, 204, 0.72) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow:
    0 0 0 4px rgba(45, 117, 226, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.login-field > span {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #6480ff !important;
}

.login-field .ui-icon {
  width: 21px !important;
  height: 21px !important;
  stroke-width: 2.2 !important;
}

.login-upgrade-modal .login-input {
  height: 56px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #071938 !important;
  font-size: 17px !important;
  font-weight: 820 !important;
  outline: 0 !important;
}

.login-upgrade-modal .login-input::placeholder {
  color: rgba(78, 95, 128, 0.46) !important;
  font-weight: 760 !important;
}

.login-upgrade-modal .login-code-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 12px !important;
}

.login-upgrade-modal .login-code-row .login-field {
  min-width: 0 !important;
}

.login-upgrade-modal .login-code-row button {
  height: 58px !important;
  border: 1px solid rgba(82, 106, 255, 0.22) !important;
  border-radius: 16px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 250, 255, 0.82)) !important;
  color: #0949a9 !important;
  box-shadow: 0 12px 24px rgba(79, 104, 166, 0.08) !important;
  font-size: 16px !important;
  font-weight: 920 !important;
}

.login-upgrade-modal .login-code-row button:hover:not(:disabled) {
  border-color: rgba(25, 97, 204, 0.5) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}

.login-upgrade-modal .login-code-row button:disabled,
.login-upgrade-modal .login-btn:disabled {
  cursor: not-allowed !important;
  opacity: 0.58 !important;
}

.login-upgrade-modal .login-message {
  min-height: 24px !important;
  margin: 10px 0 8px !important;
  color: #1f63d6 !important;
  font-size: 14px !important;
  font-weight: 780 !important;
  line-height: 1.55 !important;
}

.login-upgrade-modal .login-message[hidden] {
  display: block !important;
  visibility: hidden !important;
}

.login-upgrade-modal .login-btn {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 60px !important;
  margin: 6px 0 0 !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: linear-gradient(135deg, #73abff 0%, #5aa2ff 48%, #2f7df6 100%) !important;
  box-shadow:
    inset 0 8px 0 rgba(255, 255, 255, 0.24),
    0 18px 38px rgba(16, 86, 190, 0.24) !important;
  color: #061936 !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  letter-spacing: 0.08em !important;
}

.login-upgrade-modal .login-btn::before {
  content: "" !important;
  position: absolute !important;
  top: 9px !important;
  left: 10% !important;
  right: 10% !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.08)) !important;
  opacity: 0.66 !important;
  pointer-events: none !important;
}

.login-trust-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px 16px !important;
  margin-top: 18px !important;
  color: rgba(40, 58, 92, 0.72) !important;
  font-size: 13px !important;
  font-weight: 820 !important;
}

.login-trust-row span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.login-trust-row .ui-icon {
  width: 15px !important;
  height: 15px !important;
  padding: 2px !important;
  border: 1px solid rgba(22, 95, 204, 0.48) !important;
  border-radius: 50% !important;
  color: #1255b9 !important;
  background: rgba(255, 255, 255, 0.56) !important;
  stroke-width: 3 !important;
}

.login-upgrade-modal .agreement {
  margin-top: 18px !important;
  color: rgba(78, 95, 128, 0.72) !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  line-height: 1.8 !important;
  text-align: center !important;
}

.login-upgrade-modal .agreement button {
  color: #1f63d6 !important;
  font-weight: 920 !important;
}

@media (max-width: 640px) {
  .modal-mask:has(.login-upgrade-modal) {
    padding: 14px !important;
  }

  .modal.login-upgrade-modal {
    width: min(380px, calc(100vw - 64px)) !important;
    max-height: calc(100vh - 28px) !important;
    padding: 24px 14px 22px !important;
    border-radius: 24px !important;
  }

  .login-upgrade-modal .close {
    top: 18px !important;
    right: 18px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 13px !important;
  }

  .login-modal-brand {
    gap: 12px !important;
    padding-right: 46px !important;
  }

  .login-modal-brand .brand-mark {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
    border-radius: 15px !important;
  }

  .login-modal-brand b {
    font-size: 28px !important;
  }

  .login-modal-brand span {
    font-size: 12px !important;
  }

  .login-modal-heading {
    margin-top: 20px !important;
  }

  .login-upgrade-modal h2 {
    font-size: 26px !important;
  }

  .login-upgrade-modal p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .login-upgrade-modal .login-code-row {
    grid-template-columns: 1fr !important;
  }

  .login-upgrade-modal .login-code-row button,
  .login-upgrade-modal .login-btn {
    height: 54px !important;
  }
}

/* Sloth UI Kit v62: page unification from current light AI homepage */
:root {
  --sl-ink: #071938;
  --sl-text: #182b4d;
  --sl-muted: #60708f;
  --sl-subtle: #9aa9c2;
  --sl-bg: #edf9ff;
  --sl-bg-2: #f7fcff;
  --sl-surface: #ffffff;
  --sl-glass: rgba(255, 255, 255, 0.76);
  --sl-border: rgba(153, 190, 220, 0.42);
  --sl-border-strong: rgba(82, 168, 218, 0.34);
  --sl-mint: #5aa2ff;
  --sl-teal: #5aa2ff;
  --sl-cyan: #2f7df6;
  --sl-purple: #7358ff;
  --sl-blue: #3a8cff;
  --sl-warning: #f6c515;
  --sl-cta: linear-gradient(135deg, #5aa2ff 0%, #5aa2ff 48%, #2f7df6 100%);
  --sl-premium: linear-gradient(135deg, #7657ff 0%, #3f8dff 100%);
  --sl-ai: linear-gradient(135deg, #6d7dff 0%, #246fdf 100%);
  --sl-radius-sm: 10px;
  --sl-radius-md: 14px;
  --sl-radius-lg: 20px;
  --sl-radius-xl: 28px;
  --sl-radius-hero: 34px;
  --sl-shadow-card: 0 18px 54px rgba(52, 111, 164, 0.10);
  --sl-shadow-float: 0 28px 82px rgba(30, 78, 126, 0.18);
  --sl-shadow-cta: 0 18px 42px rgba(47, 125, 246, 0.26);
}

body {
  background:
    radial-gradient(circle at 8% 0%, rgba(47, 125, 246, 0.14), transparent 28%),
    radial-gradient(circle at 90% 0%, rgba(115, 88, 255, 0.12), transparent 30%),
    linear-gradient(180deg, var(--sl-bg) 0%, #f6faff 56%, var(--sl-bg-2) 100%);
}

.product-shell:not(.boss-cv-shell),
.grid-bg,
.template-page,
.ai-page,
.mine-main,
.editor-view,
.ai-editor-lab-view {
  background:
    radial-gradient(circle at 8% 0%, rgba(47, 125, 246, 0.13), transparent 28%),
    radial-gradient(circle at 90% 0%, rgba(115, 88, 255, 0.11), transparent 28%),
    linear-gradient(180deg, var(--sl-bg) 0%, #f7fcff 62%, #fafdff 100%) !important;
}

.product-shell:not(.boss-cv-shell) .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 60 !important;
  width: min(1760px, calc(100vw - 52px)) !important;
  min-height: 78px !important;
  margin: 18px auto 0 !important;
  padding: 0 26px !important;
  border: 1px solid rgba(153, 190, 220, 0.38) !important;
  border-radius: var(--sl-radius-xl) !important;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow: var(--sl-shadow-card) !important;
  backdrop-filter: blur(18px) saturate(118%) !important;
}

.product-shell:not(.boss-cv-shell) .brand {
  gap: 14px !important;
}

.product-shell:not(.boss-cv-shell) .brand-mark {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 32px rgba(37, 93, 158, 0.2) !important;
}

.product-shell:not(.boss-cv-shell) .brand-name {
  color: var(--sl-ink) !important;
  font-size: 24px !important;
  font-weight: 950 !important;
}

.product-shell:not(.boss-cv-shell) .helped {
  display: none !important;
}

.product-shell:not(.boss-cv-shell) .main-nav {
  gap: clamp(16px, 2.2vw, 34px) !important;
}

.product-shell:not(.boss-cv-shell) .main-nav button {
  min-height: 54px !important;
  padding: 0 2px !important;
  border-radius: 0 !important;
  color: var(--sl-text) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

.product-shell:not(.boss-cv-shell) .main-nav button span {
  display: none !important;
}

.product-shell:not(.boss-cv-shell) .main-nav button.active {
  color: var(--sl-ink) !important;
}

.product-shell:not(.boss-cv-shell) .main-nav button.active::after {
  height: 4px !important;
  bottom: 3px !important;
  background: linear-gradient(90deg, var(--sl-mint), var(--sl-teal)) !important;
  box-shadow: 0 4px 12px rgba(47, 125, 246, 0.26) !important;
}

.product-shell:not(.boss-cv-shell) .vip {
  min-height: 48px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--sl-premium) !important;
  box-shadow: 0 18px 42px rgba(94, 96, 255, 0.22) !important;
  font-weight: 900 !important;
}

.product-shell:not(.boss-cv-shell) .login-entry,
.product-shell:not(.boss-cv-shell) .small-primary,
.product-shell:not(.boss-cv-shell) .primary.green,
.ai-editor-command-grid .primary,
.ai-editor-inline-actions .primary,
.wizard-actions .primary {
  border: 0 !important;
  border-radius: 16px !important;
  color: #061936 !important;
  background: var(--sl-cta) !important;
  box-shadow: var(--sl-shadow-cta) !important;
  font-weight: 920 !important;
}

.product-shell:not(.boss-cv-shell) .outline,
.product-shell:not(.boss-cv-shell) .green-outline,
.product-shell:not(.boss-cv-shell) .ghost-btn,
.product-shell:not(.boss-cv-shell) .top-mini,
.product-shell:not(.boss-cv-shell) .icon-btn,
.product-shell:not(.boss-cv-shell) .file-btn,
.filter-options button,
.ai-sample-examples button,
.layout-choice button,
.preview-actions button {
  border: 1px solid var(--sl-border) !important;
  border-radius: 14px !important;
  color: var(--sl-text) !important;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow: none !important;
  font-weight: 820 !important;
}

.product-shell:not(.boss-cv-shell) .outline:hover,
.product-shell:not(.boss-cv-shell) .green-outline:hover,
.product-shell:not(.boss-cv-shell) .ghost-btn:hover,
.product-shell:not(.boss-cv-shell) .top-mini:hover,
.product-shell:not(.boss-cv-shell) .icon-btn:hover,
.product-shell:not(.boss-cv-shell) .file-btn:hover,
.filter-options button:hover,
.ai-sample-examples button:hover,
.layout-choice button:hover {
  color: #1f63d6 !important;
  border-color: rgba(47, 125, 246, 0.42) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  transform: translateY(-1px);
}

.template-page,
.ai-page,
.mine-main {
  width: min(1720px, calc(100vw - 64px)) !important;
  margin: 0 auto !important;
  padding: 34px 0 72px !important;
}

.filter-panel,
.template-content,
.ai-title,
.ai-sample-search-panel,
.ai-sample-results,
.mine-header,
.editor-panel-card,
.editor-module-card,
.ai-card,
.side-panel,
.ai-editor-panel,
.ai-editor-assistant,
.ai-editor-report,
.ai-editor-task-banner {
  border: 1px solid var(--sl-border) !important;
  border-radius: var(--sl-radius-xl) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(47, 125, 246, 0.10), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 251, 255, 0.78)) !important;
  box-shadow: var(--sl-shadow-card) !important;
}

.filter-panel {
  display: grid !important;
  gap: 14px !important;
  padding: 22px 24px !important;
  margin-bottom: 22px !important;
}

.filter-group {
  display: grid !important;
  grid-template-columns: 70px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
}

.filter-title {
  color: var(--sl-muted) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.filter-options {
  gap: 10px !important;
}

.filter-options button {
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
}

.filter-options button.active,
.template-tag.active,
.layout-choice button.active {
  color: var(--sl-ink) !important;
  background: var(--sl-cta) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 26px rgba(47, 125, 246, 0.18) !important;
}

.template-layout {
  display: block !important;
}

.template-content {
  padding: 26px !important;
}

.ai-recommend {
  align-items: center !important;
  padding: 0 0 24px !important;
  border-bottom: 1px solid rgba(153, 190, 220, 0.34) !important;
}

.ai-recommend h2,
.mine-header h1,
.ai-title h1,
.section-title h2,
.ai-sample-results-head h2 {
  color: var(--sl-ink) !important;
  letter-spacing: 0 !important;
}

.ai-recommend h2 {
  font-size: 30px !important;
  font-weight: 950 !important;
}

.ai-recommend p,
.template-subtitle,
.mine-header p,
.ai-title p,
.section-title span,
.ai-sample-results-head p,
.ai-sample-card p,
.catalog-card p {
  color: var(--sl-muted) !important;
  line-height: 1.7 !important;
  font-weight: 680 !important;
}

.template-catalog-grid,
.resume-grid,
.ai-sample-grid {
  gap: 22px !important;
}

.catalog-card,
.resume-card,
.ai-sample-card {
  overflow: hidden !important;
  border: 1px solid var(--sl-border) !important;
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 251, 255, 0.8)) !important;
  box-shadow: var(--sl-shadow-card) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.catalog-card:hover,
.resume-card:hover,
.ai-sample-card:hover {
  transform: translateY(-2px) !important;
  border-color: var(--sl-border-strong) !important;
  box-shadow: var(--sl-shadow-float) !important;
}

.catalog-preview {
  min-height: 420px !important;
  padding: 22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(47, 125, 246, 0.12), transparent 35%),
    linear-gradient(180deg, #f7fcff, #edf8ff) !important;
}

.catalog-preview .template-thumb-img,
.catalog-preview img {
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(65, 101, 150, 0.12) !important;
}

.catalog-meta,
.card-meta,
.ai-sample-card-body {
  padding: 20px 22px 24px !important;
}

.catalog-title-line h3,
.card-title h3,
.ai-sample-card h3 {
  color: var(--sl-ink) !important;
  font-size: 20px !important;
  font-weight: 920 !important;
}

.catalog-title-line strong,
.ai-sample-rank,
.ai-kicker {
  border: 1px solid rgba(47, 125, 246, 0.22) !important;
  border-radius: 999px !important;
  color: #1f63d6 !important;
  background: rgba(47, 125, 246, 0.1) !important;
  font-weight: 900 !important;
}

.catalog-hover-actions {
  border-radius: 22px !important;
  background: rgba(7, 25, 56, 0.36) !important;
  backdrop-filter: blur(10px) !important;
}

.ai-title {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(34px, 5vw, 56px) !important;
  margin-bottom: 24px !important;
}

.ai-title::after {
  content: "" !important;
  position: absolute !important;
  right: 48px !important;
  top: 42px !important;
  width: 170px !important;
  height: 170px !important;
  border-radius: 48px 48px 48px 12px !important;
  background:
    radial-gradient(circle at 36% 28%, rgba(255, 255, 255, 0.82), transparent 18%),
    var(--sl-ai) !important;
  opacity: 0.18 !important;
  pointer-events: none !important;
}

.ai-title h1 {
  max-width: 880px !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.16 !important;
  font-weight: 980 !important;
}

.ai-title p {
  max-width: 880px !important;
  font-size: 17px !important;
}

.ai-title-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.ai-sample-search-panel {
  padding: 28px !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
}

.ai-sample-search-row {
  gap: 12px !important;
}

.input,
.ai-sample-search-input,
.ai-build-grid select,
.ai-build-job,
.ai-build-jd,
.ai-source-textarea,
.ai-result-textarea,
.ai-editor-field input,
.ai-editor-field textarea {
  border: 1px solid var(--sl-border) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  color: var(--sl-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
}

.input:focus,
.ai-sample-search-input:focus,
.ai-editor-field input:focus,
.ai-editor-field textarea:focus {
  border-color: rgba(47, 125, 246, 0.72) !important;
  box-shadow: 0 0 0 4px rgba(47, 125, 246, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

.ai-sample-side,
.ai-editor-suggestion-stack {
  border: 1px solid rgba(153, 190, 220, 0.36) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.66) !important;
}

.ai-sample-side b,
.ai-editor-suggestion-stack b {
  color: var(--sl-ink) !important;
}

.ai-sample-side span,
.ai-editor-suggestion-stack span {
  color: var(--sl-muted) !important;
}

.ai-sample-thumb {
  min-height: 260px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(47, 125, 246, 0.1), transparent 36%),
    linear-gradient(180deg, #f8fbff, #eef8ff) !important;
}

.ai-sample-tags span,
.ai-sample-meta span {
  border-radius: 999px !important;
  color: #1f63d6 !important;
  background: rgba(47, 125, 246, 0.1) !important;
  border: 1px solid rgba(47, 125, 246, 0.18) !important;
  font-weight: 820 !important;
}

.mine-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 34px !important;
  margin-bottom: 24px !important;
}

.mine-header h1 {
  font-size: clamp(34px, 4vw, 50px) !important;
  font-weight: 980 !important;
}

.mine-header .count {
  color: #1f63d6 !important;
  background: rgba(47, 125, 246, 0.1) !important;
  border: 1px solid rgba(47, 125, 246, 0.18) !important;
}

.resume-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
}

.resume-card .thumb {
  min-height: 360px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(47, 125, 246, 0.10), transparent 36%),
    linear-gradient(180deg, #f8fbff, #edf8ff) !important;
}

.resume-card .updated {
  color: var(--sl-muted) !important;
  font-weight: 700 !important;
}

.card-overlay {
  background: linear-gradient(180deg, rgba(7, 25, 56, 0.08), rgba(7, 25, 56, 0.34)) !important;
  backdrop-filter: blur(8px) !important;
}

.overlay-btn {
  border-radius: 14px !important;
}

.more-menu,
.export-submenu,
.file-menu {
  border: 1px solid var(--sl-border) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: var(--sl-shadow-float) !important;
  backdrop-filter: blur(16px) !important;
}

.editor-view,
.ai-editor-lab-view {
  min-height: 100vh !important;
}

.editor-topbar,
.ai-editor-lab-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 70 !important;
  min-height: 74px !important;
  padding: 0 22px !important;
  border-bottom: 1px solid rgba(153, 190, 220, 0.34) !important;
  background: rgba(248, 251, 255, 0.84) !important;
  box-shadow: 0 14px 38px rgba(52, 111, 164, 0.08) !important;
  backdrop-filter: blur(18px) saturate(118%) !important;
}

.doc-info,
.ai-editor-doc-info {
  color: var(--sl-ink) !important;
}

.doc-title-btn,
.ai-editor-doc-info b {
  color: var(--sl-ink) !important;
  font-weight: 920 !important;
}

.saved {
  border: 1px solid rgba(47, 125, 246, 0.18) !important;
  border-radius: 999px !important;
  background: rgba(47, 125, 246, 0.08) !important;
}

.editor-body,
.ai-editor-lab-body {
  width: min(1840px, calc(100vw - 40px)) !important;
  margin: 0 auto !important;
  padding: 24px 0 40px !important;
}

.canvas-area,
.ai-editor-lab-canvas {
  border: 1px solid var(--sl-border) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(47, 125, 246, 0.10), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(237, 248, 255, 0.72)) !important;
  box-shadow: var(--sl-shadow-card) !important;
}

.side-panel {
  padding: 18px !important;
}

.editor-panel-card,
.editor-module-card {
  padding: 20px !important;
}

.editor-panel-card h3,
.section-head h3,
.ai-editor-panel-head h2,
.ai-editor-assistant h2,
.ai-editor-report h2 {
  color: var(--sl-ink) !important;
  font-weight: 930 !important;
}

.tool-rail {
  border: 1px solid var(--sl-border) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: var(--sl-shadow-card) !important;
  backdrop-filter: blur(14px) !important;
}

.tool-rail button {
  border-radius: 999px !important;
}

.tool-rail button.active,
.tool-rail button:hover {
  color: var(--sl-ink) !important;
  background: var(--sl-cta) !important;
  box-shadow: 0 12px 24px rgba(47, 125, 246, 0.18) !important;
}

.ai-editor-lab-body {
  grid-template-columns: minmax(280px, 330px) minmax(620px, 1fr) minmax(310px, 380px) !important;
  gap: 20px !important;
}

.ai-editor-lab-left,
.ai-editor-lab-right {
  display: grid !important;
  gap: 18px !important;
}

.ai-editor-panel,
.ai-editor-assistant,
.ai-editor-report,
.ai-editor-task-banner {
  padding: 20px !important;
}

.ai-editor-flow-list button,
.ai-editor-module-list button,
.ai-editor-template-grid button {
  border: 1px solid var(--sl-border) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: var(--sl-text) !important;
}

.ai-editor-flow-list button.active,
.ai-editor-module-list button.active,
.ai-editor-template-grid button.active {
  border-color: rgba(47, 125, 246, 0.42) !important;
  background: linear-gradient(180deg, rgba(240, 246, 255, 0.96), rgba(255, 255, 255, 0.82)) !important;
  box-shadow: 0 12px 28px rgba(47, 125, 246, 0.12) !important;
}

.ai-editor-assistant-head span {
  background: var(--sl-ai) !important;
  color: #fff !important;
  box-shadow: 0 14px 32px rgba(74, 135, 255, 0.22) !important;
}

.ai-editor-command-grid {
  gap: 12px !important;
}

.ai-editor-report-head b {
  color: var(--sl-ink) !important;
  background: var(--sl-cta) !important;
  box-shadow: 0 14px 32px rgba(47, 125, 246, 0.2) !important;
}

.ai-editor-score-bars i {
  background: var(--sl-cta) !important;
}

.modal:not(.vip-upgrade-modal):not(.login-upgrade-modal) {
  border: 1px solid rgba(255, 255, 255, 0.86) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(75, 147, 255, 0.16), transparent 34%),
    radial-gradient(circle at 94% 0%, rgba(132, 102, 255, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(244, 251, 255, 0.98), rgba(255, 255, 255, 0.96) 48%, rgba(246, 241, 255, 0.96)) !important;
  box-shadow: var(--sl-shadow-float) !important;
}

@media (max-width: 1280px) {
  .template-page,
  .ai-page,
  .mine-main {
    width: min(100% - 40px, 1160px) !important;
  }

  .ai-sample-search-panel,
  .ai-editor-lab-body {
    grid-template-columns: 1fr !important;
  }

  .catalog-preview {
    min-height: 340px !important;
  }
}

@media (max-width: 760px) {
  .product-shell:not(.boss-cv-shell) .topbar {
    width: calc(100vw - 24px) !important;
    margin-top: 12px !important;
    padding: 14px !important;
    align-items: flex-start !important;
    border-radius: 22px !important;
  }

  .product-shell:not(.boss-cv-shell) .main-nav {
    order: 3 !important;
    width: 100% !important;
    justify-content: space-between !important;
    overflow-x: auto !important;
    gap: 18px !important;
  }

  .template-page,
  .ai-page,
  .mine-main {
    width: calc(100vw - 24px) !important;
    padding-top: 22px !important;
  }

  .filter-group,
  .mine-header {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  .filter-options {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 4px !important;
  }

  .ai-title,
  .filter-panel,
  .template-content,
  .ai-sample-search-panel,
  .ai-sample-results,
  .mine-header {
    border-radius: 22px !important;
    padding: 20px !important;
  }

  .catalog-preview,
  .resume-card .thumb {
    min-height: 280px !important;
  }

  .editor-body {
    width: calc(100vw - 20px) !important;
    grid-template-columns: 1fr !important;
  }
}

/* UI Kit v62 responsive polish: keep homepage nav readable on medium screens. */
@media (max-width: 1120px) {
  .boss-cv-shell .topbar {
    padding-inline: clamp(26px, 4vw, 44px) !important;
    gap: clamp(18px, 2.8vw, 32px) !important;
  }

  .boss-cv-shell .brand {
    flex: 0 0 auto !important;
  }

  .boss-cv-shell .main-nav {
    gap: clamp(16px, 2vw, 26px) !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  .boss-cv-shell .main-nav button {
    min-width: max-content !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    line-height: 1 !important;
    font-size: clamp(14px, 1.55vw, 16px) !important;
  }

  .boss-cv-shell .top-actions {
    gap: 14px !important;
  }

  .boss-cv-shell .header-text-link {
    display: none !important;
  }
}

/* UI Kit v62 mobile containment: prevent inner strips and footer copy from widening the page. */
@media (max-width: 760px) {
  .boss-cv-shell,
  .boss-cv-home,
  .boss-cv-template-tabs,
  .restore-footer-copy {
    max-width: 100vw !important;
  }

  .boss-cv-template-tabs {
    width: 100% !important;
    padding-inline: 2px 16px !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scroll-padding-inline: 16px !important;
  }

  .restore-footer-copy {
    margin-inline: 0 !important;
    padding-inline: 18px !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .restore-footer-copy span,
  .restore-footer-copy a,
  .restore-footer-version {
    max-width: 100% !important;
    white-space: normal !important;
  }

  .editor-preview-body aside {
    max-width: min(170px, 42vw) !important;
  }
}

/* Sloth UI Kit v63: unify secondary pages with the current homepage and UI kit. */
:root {
  --sl-page-width: min(1720px, calc(100vw - 64px));
  --sl-page-width-tight: min(1320px, calc(100vw - 64px));
  --sl-panel-bg:
    radial-gradient(circle at 10% 0%, rgba(47, 125, 246, 0.11), transparent 32%),
    radial-gradient(circle at 92% 0%, rgba(115, 88, 255, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 252, 255, 0.8));
}

.product-shell:not(.boss-cv-shell),
.editor-view,
.ai-editor-lab-view,
.legal-shell {
  color: var(--sl-text) !important;
}

.template-page,
.ai-page,
.mine-main {
  width: var(--sl-page-width) !important;
  padding-top: 28px !important;
}

.page-hero {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px) !important;
  gap: clamp(22px, 4vw, 52px) !important;
  align-items: center !important;
  min-height: 210px !important;
  margin: 0 0 24px !important;
  padding: clamp(30px, 4.4vw, 58px) !important;
  border: 1px solid var(--sl-border) !important;
  border-radius: var(--sl-radius-hero) !important;
  background: var(--sl-panel-bg) !important;
  box-shadow: var(--sl-shadow-card) !important;
}

.page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: auto -6% -42% 34% !important;
  height: 220px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(150, 255, 112, 0.12), rgba(18, 97, 216, 0.16), rgba(115, 88, 255, 0.08)) !important;
  filter: blur(6px) !important;
  transform: rotate(-5deg) !important;
  pointer-events: none !important;
}

.page-hero > * {
  position: relative !important;
  z-index: 1 !important;
}

.page-kicker,
.ai-kicker {
  width: max-content !important;
  min-height: 32px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(47, 125, 246, 0.18) !important;
  color: #1f63d6 !important;
  background: rgba(47, 125, 246, 0.1) !important;
  font-size: 13px !important;
  font-weight: 920 !important;
}

.page-hero h1 {
  max-width: 900px !important;
  margin: 14px 0 14px !important;
  color: var(--sl-ink) !important;
  font-size: clamp(34px, 3.6vw, 54px) !important;
  line-height: 1.12 !important;
  font-weight: 980 !important;
  letter-spacing: 0 !important;
}

.page-hero p {
  max-width: 850px !important;
  margin: 0 !important;
  color: var(--sl-muted) !important;
  font-size: 16px !important;
  line-height: 1.78 !important;
  font-weight: 700 !important;
}

.page-hero-metric {
  justify-self: end !important;
  width: min(100%, 320px) !important;
  min-height: 150px !important;
  padding: 24px !important;
  border: 1px solid rgba(153, 190, 220, 0.34) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.9), transparent 26%),
    linear-gradient(135deg, rgba(248, 251, 255, 0.86), rgba(239, 249, 255, 0.72)) !important;
  box-shadow: 0 18px 44px rgba(52, 111, 164, 0.10) !important;
}

.page-hero-metric b {
  display: block !important;
  color: var(--sl-ink) !important;
  font-size: clamp(46px, 5vw, 70px) !important;
  line-height: 0.95 !important;
  font-weight: 980 !important;
}

.page-hero-metric span {
  display: block !important;
  margin-top: 10px !important;
  color: #1f63d6 !important;
  font-size: 18px !important;
  font-weight: 930 !important;
}

.page-hero-metric em {
  display: block !important;
  margin-top: 10px !important;
  color: var(--sl-muted) !important;
  font-style: normal !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
}

.filter-panel {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  padding: 22px !important;
}

.filter-group {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.filter-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--sl-ink) !important;
  font-size: 14px !important;
}

.filter-title::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--sl-teal) !important;
  box-shadow: 0 0 0 5px rgba(47, 125, 246, 0.12) !important;
}

.template-content,
.ai-sample-search-panel,
.ai-sample-results,
.mine-header {
  backdrop-filter: blur(16px) saturate(112%) !important;
}

.ai-recommend {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

.ai-recommend button,
.mine-header .button-row button,
.ai-title-actions button,
.ai-sample-actions button {
  min-height: 46px !important;
}

.template-catalog-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
}

.catalog-card {
  min-height: 0 !important;
}

.catalog-preview {
  min-height: clamp(360px, 32vw, 500px) !important;
}

.catalog-title-line {
  gap: 14px !important;
}

.catalog-title-line strong {
  flex: 0 0 auto !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
}

.favorite-mini {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: var(--sl-purple) !important;
  box-shadow: 0 12px 24px rgba(7, 25, 56, 0.14) !important;
}

.ai-title.page-hero {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px) !important;
}

.ai-title.page-hero::after {
  right: 52px !important;
  top: 50% !important;
  width: 190px !important;
  height: 190px !important;
  transform: translateY(-50%) !important;
  opacity: 0.16 !important;
}

.ai-title-actions {
  position: relative !important;
  z-index: 2 !important;
}

.ai-overview {
  display: grid !important;
  gap: 24px !important;
}

.ai-sample-search-panel {
  align-items: stretch !important;
  gap: 24px !important;
}

.section-title h2,
.ai-sample-results-head h2 {
  margin: 0 0 8px !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.2 !important;
}

.ai-sample-side {
  height: 100% !important;
  padding: 22px !important;
  display: grid !important;
  align-content: center !important;
  gap: 12px !important;
}

.ai-sample-card {
  display: grid !important;
  grid-template-rows: minmax(260px, auto) 1fr !important;
}

.ai-sample-card-body {
  display: grid !important;
  gap: 12px !important;
}

.ai-sample-actions {
  align-self: end !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: 6px !important;
}

.mine-header.page-hero {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.mine-header .title-row {
  min-width: 0 !important;
}

.mine-header .back {
  border: 1px solid var(--sl-border) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  color: var(--sl-text) !important;
  box-shadow: none !important;
}

.mine-header .button-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}

.resume-grid {
  align-items: stretch !important;
}

.resume-card {
  display: grid !important;
  grid-template-rows: minmax(360px, auto) auto !important;
}

.resume-card .thumb {
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
}

.resume-thumb-live {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
}

.card-meta {
  display: grid !important;
  gap: 8px !important;
}

.editor-topbar,
.ai-editor-lab-topbar {
  border-radius: 0 0 24px 24px !important;
}

.editor-body {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px) !important;
  gap: 22px !important;
}

.side-panel {
  position: sticky !important;
  top: 92px !important;
  max-height: calc(100vh - 118px) !important;
  overflow: auto !important;
  scrollbar-width: thin !important;
}

.canvas-area {
  min-height: calc(100vh - 138px) !important;
  padding: 32px 32px 88px !important;
}

.canvas-zoom-tools {
  border: 1px solid var(--sl-border) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: var(--sl-shadow-card) !important;
}

.zoom-chip {
  color: var(--sl-ink) !important;
  font-weight: 900 !important;
}

.ai-editor-lab-body {
  align-items: start !important;
  grid-template-columns: minmax(270px, 320px) minmax(640px, 1fr) minmax(300px, 380px) !important;
}

.ai-editor-lab-left,
.ai-editor-lab-right {
  position: sticky !important;
  top: 96px !important;
}

.ai-editor-lab-canvas {
  min-height: calc(100vh - 138px) !important;
}

.ai-editor-paper-shell {
  padding: 28px !important;
}

.ai-editor-panel-head,
.ai-editor-assistant-head,
.ai-editor-report-head {
  gap: 14px !important;
}

.ai-editor-task-banner {
  border-color: rgba(47, 125, 246, 0.26) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(150, 255, 112, 0.18), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(238, 245, 255, 0.84)) !important;
}

.ai-editor-command-grid button,
.ai-editor-inline-actions button {
  min-height: 44px !important;
}

.site-footer {
  margin-top: 0 !important;
  padding: 64px 0 0 !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(47, 125, 246, 0.16), transparent 30%),
    linear-gradient(180deg, #071a33 0%, #061225 100%) !important;
  color: rgba(224, 239, 250, 0.68) !important;
}

.site-footer .footer-inner {
  width: var(--sl-page-width) !important;
  margin: 0 auto !important;
  padding: 0 0 44px !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1.25fr) repeat(3, minmax(160px, 0.8fr)) !important;
  gap: clamp(28px, 5vw, 76px) !important;
}

.site-footer .brand-name,
.site-footer h3 {
  color: #f7fbff !important;
}

.site-footer .footer-brand p,
.site-footer .footer-brand span,
.site-footer .footer-column button,
.site-footer .footer-column a {
  color: rgba(224, 239, 250, 0.64) !important;
}

.site-footer .footer-column button:hover,
.site-footer .footer-column a:hover {
  color: #7fb2ff !important;
}

.site-footer .footer-bottom {
  padding: 22px clamp(24px, 4vw, 64px) !important;
  border-top: 1px solid rgba(177, 201, 238, 0.16) !important;
  background: rgba(0, 8, 21, 0.22) !important;
  color: rgba(224, 239, 250, 0.58) !important;
}

.site-footer .footer-bottom a,
.site-footer .footer-version {
  color: rgba(224, 239, 250, 0.72) !important;
}

.legal-main {
  width: var(--sl-page-width-tight) !important;
}

.legal-content {
  border: 1px solid var(--sl-border) !important;
  border-radius: var(--sl-radius-xl) !important;
  background: var(--sl-panel-bg) !important;
  box-shadow: var(--sl-shadow-card) !important;
}

@media (max-width: 1380px) {
  .filter-panel {
    grid-template-columns: 1fr !important;
  }

  .ai-editor-lab-body {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) !important;
  }

  .ai-editor-lab-right {
    position: static !important;
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  .template-page,
  .ai-page,
  .mine-main,
  .site-footer .footer-inner {
    width: min(100% - 28px, 720px) !important;
  }

  .page-hero,
  .ai-title.page-hero,
  .mine-header.page-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  .page-hero-metric {
    justify-self: stretch !important;
    width: 100% !important;
  }

  .ai-sample-search-panel,
  .ai-sample-actions,
  .editor-body,
  .ai-editor-lab-body,
  .site-footer .footer-inner {
    grid-template-columns: 1fr !important;
  }

  .side-panel,
  .ai-editor-lab-left,
  .ai-editor-lab-right {
    position: static !important;
    max-height: none !important;
  }

  .ai-editor-lab-right {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .site-footer .footer-bottom {
    display: grid !important;
    gap: 8px !important;
    text-align: center !important;
  }
}

@media (max-width: 760px) {
  .page-hero {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .page-hero h1 {
    font-size: clamp(30px, 10vw, 42px) !important;
  }

  .filter-panel {
    grid-template-columns: 1fr !important;
  }

  .template-catalog-grid,
  .resume-grid,
  .ai-sample-grid {
    grid-template-columns: 1fr !important;
  }

  .catalog-preview,
  .resume-card .thumb,
  .ai-sample-thumb {
    min-height: 300px !important;
  }

  .mine-header .button-row {
    justify-content: stretch !important;
  }

  .mine-header .button-row button {
    width: 100% !important;
  }

  .canvas-area,
  .ai-editor-lab-canvas {
    padding: 18px 12px 72px !important;
    border-radius: 24px !important;
  }
}

/* Sloth UI Kit v64: Stripe-inspired split between expressive entry surfaces and restrained work surfaces. */
:root {
  --sl-stripe-indigo: #533afd;
  --sl-stripe-indigo-deep: #4434d4;
  --sl-stripe-ink: #0d253d;
  --sl-stripe-muted: #64748d;
  --sl-stripe-hairline: #e3e8ee;
  --sl-entry-mesh:
    radial-gradient(circle at 10% -8%, rgba(255, 220, 166, 0.42), transparent 25%),
    radial-gradient(circle at 52% -12%, rgba(83, 58, 253, 0.18), transparent 32%),
    radial-gradient(circle at 88% -4%, rgba(249, 107, 238, 0.13), transparent 28%),
    radial-gradient(circle at 18% 12%, rgba(47, 125, 246, 0.16), transparent 28%),
    linear-gradient(180deg, #f6fbff 0%, #ebf8ff 50%, #f8fbff 100%);
  --sl-work-bg: #f6f9fc;
  --sl-work-bg-soft: #f9fcff;
  --sl-work-surface: #ffffff;
  --sl-work-border: rgba(193, 211, 229, 0.74);
  --sl-work-border-soft: rgba(222, 232, 241, 0.92);
  --sl-work-shadow: 0 1px 3px rgba(0, 55, 112, 0.08), 0 10px 28px rgba(0, 55, 112, 0.05);
  --sl-work-shadow-hover: 0 12px 30px rgba(0, 55, 112, 0.09);
}

.boss-cv-home,
.modal-mask:has(.login-upgrade-modal),
.modal-mask:has(.vip-upgrade-modal) {
  background: var(--sl-entry-mesh) !important;
}

.boss-cv-shell .topbar {
  background: rgba(248, 251, 255, 0.78) !important;
  border-bottom: 1px solid rgba(193, 211, 229, 0.42) !important;
  box-shadow: 0 10px 28px rgba(0, 55, 112, 0.05) !important;
  backdrop-filter: blur(18px) saturate(112%) !important;
}

/* Homepage header v78: transparent at hero top, compact after scroll. */
.rv-home-shell.boss-cv-shell .topbar {
  height: 80px !important;
  padding: 0 clamp(34px, 4.8vw, 74px) !important;
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.rv-home-shell.boss-cv-shell .topbar.is-scrolled {
  background: rgba(248, 251, 255, 0.88) !important;
  border-bottom-color: rgba(193, 211, 229, 0.38) !important;
  box-shadow: 0 10px 28px rgba(0, 55, 112, 0.06) !important;
  backdrop-filter: blur(18px) saturate(112%) !important;
}

.rv-home-shell.boss-cv-shell .brand {
  min-width: 230px !important;
  gap: 12px !important;
}

.rv-home-shell.boss-cv-shell .brand-mark {
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
  border-radius: 12px !important;
  filter: drop-shadow(0 10px 16px rgba(34, 115, 190, 0.12)) !important;
}

.rv-home-shell.boss-cv-shell .brand-name {
  font-size: 24px !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

.rv-home-shell.boss-cv-shell .main-nav {
  height: 80px !important;
  gap: clamp(20px, 2.4vw, 40px) !important;
}

.rv-home-shell.boss-cv-shell .main-nav button,
.rv-home-shell.boss-cv-shell .header-text-link {
  font-size: 15px !important;
  font-weight: 600 !important;
}

.rv-home-shell.boss-cv-shell .main-nav button::after {
  bottom: 15px !important;
  height: 3px !important;
}

.rv-home-shell.boss-cv-shell .top-actions {
  gap: clamp(14px, 1.7vw, 28px) !important;
}

.rv-home-shell.boss-cv-shell .top-actions .vip {
  height: 40px !important;
  padding: 0 22px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 26px rgba(93, 103, 238, 0.22) !important;
}

.rv-home-shell.boss-cv-shell .top-actions .vip .ui-icon {
  width: 16px !important;
  height: 16px !important;
}

.rv-home-shell.boss-cv-shell .avatar.visual-avatar {
  height: 42px !important;
  gap: 8px !important;
}

.rv-home-shell.boss-cv-shell .avatar.visual-avatar img {
  width: 42px !important;
  height: 42px !important;
}

.rv-home-shell .avatar-caret {
  font-size: 15px !important;
  font-weight: 600 !important;
}

.modal.login-upgrade-modal,
.modal.vip-upgrade-modal {
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 220, 166, 0.28), transparent 28%),
    radial-gradient(circle at 52% -4%, rgba(83, 58, 253, 0.12), transparent 34%),
    radial-gradient(circle at 96% 2%, rgba(249, 107, 238, 0.12), transparent 28%),
    linear-gradient(135deg, rgba(247, 252, 255, 0.98), rgba(255, 255, 255, 0.97) 52%, rgba(246, 242, 255, 0.95)) !important;
}

.product-shell:not(.boss-cv-shell),
.template-page,
.ai-page,
.mine-main,
.editor-view,
.ai-editor-lab-view,
.legal-shell {
  background: var(--sl-work-bg) !important;
}

.product-shell:not(.boss-cv-shell)::before,
.template-page::before,
.ai-page::before,
.mine-main::before,
.editor-view::before,
.ai-editor-lab-view::before {
  opacity: 0 !important;
}

.product-shell:not(.boss-cv-shell) .topbar,
.editor-topbar,
.ai-editor-lab-topbar {
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom: 1px solid var(--sl-work-border-soft) !important;
  box-shadow: 0 1px 3px rgba(0, 55, 112, 0.06) !important;
  backdrop-filter: blur(16px) saturate(108%) !important;
}

.page-hero,
.template-content,
.ai-sample-search-panel,
.ai-sample-results,
.mine-header,
.filter-panel,
.legal-content {
  border: 1px solid var(--sl-work-border) !important;
  background: var(--sl-work-surface) !important;
  box-shadow: var(--sl-work-shadow) !important;
}

.page-hero {
  min-height: 184px !important;
  padding: 38px 44px !important;
  border-radius: 26px !important;
}

.page-hero::before,
.ai-title.page-hero::after {
  opacity: 0 !important;
}

.page-kicker,
.ai-kicker {
  min-height: 28px !important;
  border-color: rgba(47, 125, 246, 0.22) !important;
  background: rgba(47, 125, 246, 0.08) !important;
}

.page-hero h1 {
  font-size: 42px !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
  color: var(--sl-stripe-ink) !important;
}

.page-hero p {
  color: var(--sl-stripe-muted) !important;
  font-weight: 650 !important;
}

.page-hero-metric {
  min-height: 128px !important;
  border: 1px solid var(--sl-work-border-soft) !important;
  background: #f9fcff !important;
  box-shadow: none !important;
}

.filter-panel,
.ai-sample-search-panel,
.ai-sample-results,
.template-content,
.mine-header {
  backdrop-filter: none !important;
}

.catalog-card,
.ai-sample-card,
.resume-card,
.ai-editor-lab-left,
.ai-editor-lab-right,
.side-panel,
.ai-editor-panel,
.ai-editor-report-card,
.ai-editor-assistant-card,
.editor-body .side-panel {
  border: 1px solid var(--sl-work-border-soft) !important;
  background: var(--sl-work-surface) !important;
  box-shadow: var(--sl-work-shadow) !important;
}

.catalog-card:hover,
.ai-sample-card:hover,
.resume-card:hover {
  box-shadow: var(--sl-work-shadow-hover) !important;
}

.catalog-preview,
.ai-sample-thumb,
.resume-card .thumb,
.canvas-area,
.ai-editor-lab-canvas {
  background: var(--sl-work-bg-soft) !important;
}

.catalog-preview {
  min-height: clamp(390px, 34vw, 530px) !important;
  padding: 18px !important;
}

.catalog-preview .template-image,
.catalog-preview img,
.ai-sample-thumb img,
.resume-thumb-live img {
  filter: none !important;
}

.filter-options button,
.ai-sample-examples button,
.product-shell:not(.boss-cv-shell) .outline,
.product-shell:not(.boss-cv-shell) .green-outline,
.product-shell:not(.boss-cv-shell) .ghost-btn,
.product-shell:not(.boss-cv-shell) .top-mini,
.product-shell:not(.boss-cv-shell) .icon-btn,
.product-shell:not(.boss-cv-shell) .file-btn {
  border-color: var(--sl-work-border) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.filter-options button.active,
.product-shell:not(.boss-cv-shell) .primary.green,
.product-shell:not(.boss-cv-shell) .small-primary,
.ai-title-actions .primary.green,
.ai-sample-search-row .primary.green {
  border: 0 !important;
  color: #06213a !important;
  background: var(--sl-cta) !important;
  box-shadow: 0 10px 22px rgba(47, 125, 246, 0.18) !important;
}

.editor-body {
  background: var(--sl-work-bg) !important;
}

.a4 {
  box-shadow: 0 16px 38px rgba(0, 55, 112, 0.10) !important;
}

.ai-editor-task-banner {
  border-color: var(--sl-work-border) !important;
  background: #ffffff !important;
}

.side-panel,
.ai-editor-lab-left,
.ai-editor-lab-right {
  scrollbar-color: rgba(100, 116, 139, 0.32) transparent !important;
}

@media (max-width: 980px) {
  .page-hero {
    padding: 28px !important;
  }

  .page-hero h1 {
    font-size: 34px !important;
  }
}

/* ===========================================================
   首页改版样式 v1 (.rv-home) — 作用域隔离，不影响其它页面
   品牌色:青绿 #2f7df6 + AI 紫 #6d5cff
   =========================================================== */
.rv-home-shell {
  /* 蓝调高级感 v2:贴合新 logo 的精致蓝 + AI 紫辅助 */
  --rv-brand: #2f7df6; --rv-brand-700: #1f63d6; --rv-brand-soft: #eaf2ff;
  --rv-ai: #6d5cff; --rv-ai-700: #5a48f0; --rv-ai-soft: #efeeff;
  --rv-ink: #1f2329; --rv-ink-2: #2b3a55; --rv-ink-3: #4b5563; --rv-ink-4: #8a95ab;
  --rv-line: #e6ecf5; --rv-line-2: #f0f4fa; --rv-surface: #fff; --rv-surface-2: #f6f9ff; --rv-page: #fbfcff;
  --rv-grad-brand: linear-gradient(135deg,#5aa2ff 0%,#2f7df6 52%,#1f63d6 100%);
  --rv-grad-ai: linear-gradient(135deg,#7b6bff 0%,#6d5cff 50%,#2f7df6 120%);
  --rv-grad-ink: linear-gradient(135deg,#0a1c3a 0%,#102a52 100%);
  --rv-r-md: 16px; --rv-r-lg: 24px; --rv-r-xl: 32px; --rv-pill: 999px;
  --rv-sh-1: 0 1px 2px rgba(11,27,51,.04), 0 2px 8px rgba(11,27,51,.05);
  --rv-sh-2: 0 6px 16px rgba(11,27,51,.07), 0 2px 6px rgba(11,27,51,.05);
  --rv-sh-3: 0 18px 40px -12px rgba(11,27,51,.18), 0 8px 18px -10px rgba(11,27,51,.10);
  --rv-sh-float: 0 36px 80px -28px rgba(20,70,160,.36);
  --rv-sh-brand: 0 14px 30px -10px rgba(47,125,246,.5);
  --rv-ease: cubic-bezier(.22,.8,.22,1);
  --rv-fs-h2: clamp(26px,3vw,38px); --rv-fs-h3: 19px;
}
.rv-home { background: var(--rv-page); color: var(--rv-ink); font-size: 16px; line-height: 1.6; letter-spacing: .1px; }
.rv-home * { box-sizing: border-box; }
.rv-home img { display: block; max-width: 100%; }
.rv-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.rv-block { padding: 88px 0; }
.rv-block.rv-soft { background: var(--rv-surface-2); }
.rv-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--rv-brand-700); padding: 6px 14px; border-radius: var(--rv-pill); background: var(--rv-brand-soft); }
.rv-eyebrow.ai { color: var(--rv-ai-700); background: var(--rv-ai-soft); }
.rv-sec-head { max-width: 680px; margin-bottom: 0; }
.rv-sec-head.center { max-width: 680px; margin: 0 auto 44px; text-align: center; }
.rv-sec-head h2 { font-size: var(--rv-fs-h2); font-weight: 800; letter-spacing: -.5px; line-height: 1.2; color: var(--rv-ink); margin-top: 14px; }
.rv-sec-head p { margin-top: 14px; font-size: 16px; color: var(--rv-ink-3); }
.rv-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; flex-wrap: wrap; }

.rv-btn { display: inline-flex; align-items: center; gap: 8px; justify-content: center; font-weight: 700; font-size: 14px; border-radius: var(--rv-pill); padding: 11px 22px; border: none; cursor: pointer; transition: transform .25s var(--rv-ease), box-shadow .25s var(--rv-ease), background .25s; white-space: nowrap; }
.rv-btn-primary { color: #fff; background: var(--rv-grad-brand); box-shadow: var(--rv-sh-brand); }
.rv-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 22px 42px -10px rgba(47,125,246,.58); }
.rv-btn-dark { background: linear-gradient(135deg,#17305a 0%,#1f2329 100%); color: #fff; box-shadow: 0 10px 24px -12px rgba(11,27,51,.5); }
.rv-btn-dark:hover { transform: translateY(-2px); background: linear-gradient(135deg,#1d3c6e 0%,#102449 100%); box-shadow: 0 16px 30px -12px rgba(11,27,51,.55); }
.rv-btn-lg { padding: 16px 34px; font-size: 16px; }

/* Hero — 蓝调高级感 v2 */
.rv-hero { position: relative; overflow: hidden; padding: 116px 0 92px; }
.rv-hero::before { content: ""; position: absolute; inset: -22% -10% auto -10%; height: 820px; z-index: 0; background: radial-gradient(56% 58% at 16% 10%, rgba(47,125,246,.20), transparent 62%), radial-gradient(46% 58% at 86% 4%, rgba(109,92,255,.16), transparent 60%), radial-gradient(40% 50% at 60% 30%, rgba(90,162,255,.12), transparent 65%); }
.rv-hero::after { content: ""; position: absolute; inset: 0 0 30% 0; z-index: 0; opacity: .55; background-image: radial-gradient(rgba(31,99,214,.06) 1px, transparent 1px); background-size: 26px 26px; -webkit-mask-image: linear-gradient(180deg,#000,transparent 80%); mask-image: linear-gradient(180deg,#000,transparent 80%); pointer-events: none; }
.rv-hero > .rv-wrap { position: relative; z-index: 1; }
.rv-hero-grid { display: grid; grid-template-columns: 1.04fr 1.12fr; gap: 56px; align-items: center; }
.rv-hero-copy h1 { font-size: clamp(42px,5.4vw,66px); font-weight: 860; line-height: 1.05; letter-spacing: -2px; color: var(--rv-ink); margin: 0; }
.rv-hero-copy h1 .hl { position: relative; background: var(--rv-grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.rv-hero-copy h1 .hl::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4%; height: 22%; z-index: -1; background: linear-gradient(90deg, rgba(47,125,246,.26), rgba(109,92,255,.20)); border-radius: 6px; }
.rv-lead { margin-top: 22px; font-size: 18px; line-height: 1.7; color: var(--rv-ink-3); max-width: 452px; }
.rv-hero-actions { margin-top: 30px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rv-btn-primary { position: relative; overflow: hidden; }
.rv-btn-primary::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 50%; background: linear-gradient(180deg, rgba(255,255,255,.28), transparent); pointer-events: none; }
.rv-micro { margin-top: 16px; font-size: 12.5px; color: var(--rv-ink-4); }
.rv-hero-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 510px; margin-top: 22px; border: 1px solid rgba(47,125,246,.13); border-radius: 16px; background: rgba(255,255,255,.62); box-shadow: 0 12px 32px -24px rgba(31,99,214,.38); backdrop-filter: blur(10px); overflow: hidden; }
.rv-hero-proof div { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 12px 13px; border-right: 1px solid rgba(47,125,246,.11); }
.rv-hero-proof div:last-child { border-right: 0; }
.rv-hero-proof b { flex: 0 0 auto; color: var(--rv-brand-700); font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.rv-hero-proof span { color: var(--rv-ink-2); font-size: 12px; font-weight: 700; line-height: 1.35; }
/* 顶部公告条 eyebrow:玻璃药丸 + 渐变描边 */
.rv-eyebrow { position: relative; background: rgba(255,255,255,.7); color: var(--rv-brand-700); box-shadow: var(--rv-sh-1); backdrop-filter: blur(6px); }
.rv-hero-copy > .rv-eyebrow { padding: 7px 16px 7px 12px; }
.rv-hero-copy > .rv-eyebrow::before { content: "✦"; color: var(--rv-ai-700); margin-right: 2px; }
/* 社会化证明小条 */
.rv-social { margin-top: 26px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rv-social .stack { display: flex; }
.rv-social .stack i { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #fff; margin-left: -10px; display: grid; place-items: center; color: #fff; font-style: normal; font-size: 12px; font-weight: 700; box-shadow: var(--rv-sh-1); }
.rv-social .stack i:first-child { margin-left: 0; }
.rv-social .stack i:nth-child(1) { background: linear-gradient(135deg,#4f9bff,#2f7df6); }
.rv-social .stack i:nth-child(2) { background: linear-gradient(135deg,#7b6bff,#5a48f0); }
.rv-social .stack i:nth-child(3) { background: linear-gradient(135deg,#5aa2ff,#2f7df6); }
.rv-social .stack i:nth-child(4) { background: linear-gradient(135deg,#ff9d6c,#f6764a); }
.rv-social .rate b { color: #f6a609; letter-spacing: 1px; font-size: 13px; }
.rv-social .rate span { display: block; font-size: 12px; color: var(--rv-ink-3); margin-top: 1px; }
.rv-trust { margin-top: 32px; display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.rv-trust .item { display: flex; flex-direction: column; }
.rv-trust .item b { font-size: 24px; font-weight: 850; letter-spacing: -.5px; background: var(--rv-grad-ai); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rv-trust .item span { font-size: 12.5px; color: var(--rv-ink-4); }
.rv-trust .divider { width: 1px; height: 30px; background: var(--rv-line); }
.rv-badges { margin-top: 24px; display: flex; gap: 10px; flex-wrap: wrap; }
.rv-badges span { font-size: 12.5px; font-weight: 600; color: var(--rv-ink-2); padding: 7px 14px; border-radius: var(--rv-pill); background: var(--rv-surface); border: 1px solid var(--rv-line); box-shadow: var(--rv-sh-1); display: inline-flex; align-items: center; gap: 6px; }
.rv-badges span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rv-brand); }

.rv-hero-stage { position: relative; }
.rv-hero-stage::before { content: ""; position: absolute; inset: 6% -8% 2% 4%; z-index: 0; background: radial-gradient(60% 60% at 66% 42%, rgba(47,125,246,.22), transparent 70%); filter: blur(14px); pointer-events: none; }
.rv-demo-card { position: relative; z-index: 1; background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-float); overflow: hidden; transform: perspective(1600px) rotateY(-6deg) rotateX(2deg); transition: transform .6s var(--rv-ease); }
.rv-hero-stage:hover .rv-demo-card { transform: perspective(1600px) rotateY(-2deg) rotateX(1deg); }
.rv-demo-bar { display: flex; align-items: center; gap: 8px; padding: 14px 18px; border-bottom: 1px solid var(--rv-line-2); background: var(--rv-surface-2); }
.rv-demo-bar .dot { width: 11px; height: 11px; border-radius: 50%; background: #e3e8e7; }
.rv-demo-bar .dot:nth-child(1){ background:#ff6058; } .rv-demo-bar .dot:nth-child(2){ background:#ffbd2e; } .rv-demo-bar .dot:nth-child(3){ background:#2868c8; }
.rv-demo-bar .tag { margin-left: 10px; font-size: 12.5px; color: var(--rv-ink-4); font-weight: 600; }
.rv-demo-bar .saved { margin-left: auto; font-size: 12.5px; font-weight: 700; color: var(--rv-brand-700); background: var(--rv-brand-soft); padding: 4px 10px; border-radius: var(--rv-pill); }
.rv-demo-body { display: grid; grid-template-columns: 132px 1fr; min-height: 372px; }
.rv-demo-rail { border-right: 1px solid var(--rv-line-2); padding: 16px 12px; background: var(--rv-surface-2); display: flex; flex-direction: column; gap: 4px; }
.rv-demo-rail .r { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border-radius: 10px; font-size: 12.5px; font-weight: 600; color: var(--rv-ink-3); }
.rv-demo-rail .r i { width: 7px; height: 7px; border-radius: 50%; background: var(--rv-line); }
.rv-demo-rail .r.on { background: #fff; color: var(--rv-brand-700); box-shadow: var(--rv-sh-1); }
.rv-demo-rail .r.on i { background: var(--rv-brand); }
.rv-demo-paper { padding: 24px 26px; }
.rv-demo-paper .pp-head { display: flex; align-items: flex-start; justify-content: space-between; }
.rv-demo-paper .pp-head h3 { font-size: 22px; font-weight: 800; letter-spacing: -.3px; margin: 0; }
.rv-demo-paper .pp-head p { font-size: 12.5px; color: var(--rv-brand-700); font-weight: 700; margin: 3px 0 0; }
.rv-demo-paper .pp-head .av { width: 50px; height: 50px; border-radius: 12px; object-fit: cover; }
.rv-demo-paper .pp-meta { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 18px; }
.rv-demo-paper .pp-meta span { font-size: 11px; color: var(--rv-ink-3); background: var(--rv-surface-2); border: 1px solid var(--rv-line-2); padding: 4px 9px; border-radius: var(--rv-pill); }
.rv-demo-paper .pp-sec { margin-bottom: 16px; }
.rv-demo-paper .pp-sec .t { font-size: 12.5px; font-weight: 800; color: var(--rv-ink); padding-bottom: 6px; border-bottom: 2px solid var(--rv-brand-soft); display: inline-block; margin-bottom: 9px; }
.rv-demo-paper .pp-sec .row { display: flex; justify-content: space-between; font-size: 12px; }
.rv-demo-paper .pp-sec .row b { font-weight: 700; color: var(--rv-ink-2); }
.rv-demo-paper .pp-sec .row em { font-style: normal; color: var(--rv-ink-4); font-size: 11px; }
.rv-demo-paper .pp-sec .line { height: 7px; border-radius: 4px; background: linear-gradient(90deg, var(--rv-line), var(--rv-line-2)); margin-top: 7px; }
.rv-demo-paper .pp-sec .line.s { width: 78%; } .rv-demo-paper .pp-sec .line.m { width: 92%; }
.rv-ai-polish-demo { margin-top: 8px; border: 1px solid rgba(47,125,246,.14); border-radius: 18px; background: linear-gradient(180deg, rgba(247,250,255,.96), rgba(255,255,255,.98)); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); overflow: hidden; }
.rv-polish-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px 12px; border-bottom: 1px solid var(--rv-line-2); }
.rv-polish-head span { font-size: 13px; font-weight: 850; color: var(--rv-ink); }
.rv-polish-head b { position: relative; padding-left: 16px; font-size: 11.5px; font-weight: 750; color: var(--rv-brand-700); white-space: nowrap; }
.rv-polish-head b::before { content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--rv-brand); transform: translateY(-50%); box-shadow: 0 0 0 0 rgba(47,125,246,.32); animation: rvAiPulse 1.6s ease-in-out infinite; }
.rv-polish-stack { position: relative; height: 278px; padding: 14px 16px 16px; }
.rv-polish-card { position: absolute; left: 16px; right: 16px; top: 14px; min-height: 124px; padding: 14px 15px; border-radius: 14px; border: 1px solid var(--rv-line-2); background: #fff; box-shadow: var(--rv-sh-1); opacity: 0; transform: translateY(12px) scale(.985); animation: rvPolishCycle 7.2s ease-in-out infinite; }
.rv-polish-card em { display: inline-flex; margin-bottom: 9px; padding: 3px 8px; border-radius: var(--rv-pill); font-style: normal; font-size: 10.5px; font-weight: 850; }
.rv-polish-card p { margin: 0; font-size: 13px; line-height: 1.62; color: var(--rv-ink-2); }
.rv-polish-card.raw { animation-delay: 0s; }
.rv-polish-card.raw em { color: var(--rv-ink-4); background: var(--rv-surface-2); }
.rv-polish-card.thinking { animation-delay: 2.4s; overflow: hidden; border-color: rgba(109,92,255,.16); background: linear-gradient(180deg,#fff,rgba(246,245,255,.82)); }
.rv-polish-card.thinking em { color: var(--rv-ai-700); background: var(--rv-ai-soft); }
.rv-polish-card.thinking p { display: flex; flex-wrap: wrap; gap: 7px; }
.rv-polish-card.thinking p span { padding: 5px 8px; border-radius: var(--rv-pill); color: var(--rv-ai-700); background: rgba(109,92,255,.09); font-size: 11px; font-weight: 750; box-shadow: inset 0 0 0 1px rgba(109,92,255,.06); }
.rv-polish-card.polished { animation-delay: 4.8s; border-color: rgba(47,125,246,.22); background: linear-gradient(180deg,#fff,rgba(234,242,255,.82)); }
.rv-polish-card.polished em { color: #fff; background: var(--rv-grad-brand); }
.rv-polish-card.polished p { font-weight: 760; color: var(--rv-ink); }
.scan-line { position: absolute; left: 0; right: 0; top: 34px; height: 28px; background: linear-gradient(180deg, transparent, rgba(47,125,246,.13), transparent); opacity: 0; animation: rvScanLine 7.2s ease-in-out infinite; }
.rv-polish-meter { display: grid; grid-template-columns: auto 1fr auto; gap: 9px; align-items: center; padding: 0 16px 15px; font-size: 11px; color: var(--rv-ink-4); }
.rv-polish-meter i { height: 7px; border-radius: var(--rv-pill); background: var(--rv-line-2); overflow: hidden; }
.rv-polish-meter i b { display: block; height: 100%; width: 34%; border-radius: inherit; background: var(--rv-grad-brand); animation: rvMeterGrow 7.2s ease-in-out infinite; }
.rv-polish-meter strong { color: var(--rv-brand-700); font-size: 11px; }
@keyframes rvPolishCycle {
  0%, 27% { opacity: 1; transform: translateY(0) scale(1); }
  32%, 100% { opacity: 0; transform: translateY(-10px) scale(.99); }
}
@keyframes rvScanLine {
  34%, 39% { opacity: 1; transform: translateY(0); }
  52% { opacity: .85; transform: translateY(74px); }
  58%, 100% { opacity: 0; transform: translateY(96px); }
}
@keyframes rvMeterGrow {
  0%, 28% { width: 34%; }
  42%, 56% { width: 68%; }
  70%, 100% { width: 92%; }
}
@keyframes rvAiPulse {
  0% { box-shadow: 0 0 0 0 rgba(47,125,246,.32); }
  70%, 100% { box-shadow: 0 0 0 8px rgba(47,125,246,0); }
}
.rv-demo-rail .r.is-ai-module {
  animation: rvModuleRail 18s ease-in-out infinite;
  animation-delay: calc(var(--i) * 3s);
}
.rv-demo-rail .r.is-ai-module i {
  animation: rvModuleDot 18s ease-in-out infinite;
  animation-delay: calc(var(--i) * 3s);
}
.rv-module-card {
  position: absolute;
  left: 16px;
  right: 16px;
  top: 14px;
  min-height: 246px;
  padding: 13px 14px 12px;
  border: 1px solid rgba(47,125,246,.16);
  border-radius: 14px;
  background: linear-gradient(180deg,#fff,rgba(244,248,255,.9));
  box-shadow: var(--rv-sh-1);
  opacity: 0;
  transform: translateY(10px) scale(.985);
  animation: rvModuleCard 18s ease-in-out infinite;
  animation-delay: calc(var(--i) * 3s);
}
.module-card-head,
.module-meter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.module-card-head em {
  padding: 4px 9px;
  border-radius: var(--rv-pill);
  font-style: normal;
  font-size: 10.5px;
  font-weight: 850;
  color: #fff;
  background: var(--rv-grad-brand);
}
.module-card-head strong {
  color: var(--rv-ink-4);
  font-size: 10.5px;
  font-weight: 800;
}
.module-before,
.module-after {
  margin-top: 11px;
  padding: 10px 11px;
  border-radius: 12px;
}
.module-before {
  color: var(--rv-ink-3);
  background: var(--rv-surface-2);
}
.module-after {
  color: var(--rv-ink);
  background: rgba(234,242,255,.9);
  border: 1px solid rgba(47,125,246,.14);
}
.module-before span,
.module-after span {
  display: block;
  margin-bottom: 5px;
  font-size: 10px;
  font-weight: 850;
}
.module-before p,
.module-after p {
  margin: 0;
  font-size: 12px;
  line-height: 1.52;
}
.module-after p {
  font-weight: 760;
}
.module-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.module-chips span {
  padding: 4px 7px;
  border-radius: var(--rv-pill);
  color: var(--rv-ai-700);
  background: rgba(109,92,255,.09);
  box-shadow: inset 0 0 0 1px rgba(109,92,255,.06);
  font-size: 10.5px;
  font-weight: 780;
}
.module-meter {
  margin-top: 10px;
}
.module-meter i {
  flex: 1;
  height: 7px;
  border-radius: var(--rv-pill);
  background: var(--rv-line-2);
  overflow: hidden;
}
.module-meter i b {
  display: block;
  width: var(--score);
  height: 100%;
  border-radius: inherit;
  background: var(--rv-grad-brand);
}
.module-meter strong {
  color: var(--rv-brand-700);
  font-size: 11px;
}
@keyframes rvModuleCard {
  0%, 13.5% { opacity: 1; transform: translateY(0) scale(1); }
  16.5%, 100% { opacity: 0; transform: translateY(-8px) scale(.99); }
}
@keyframes rvModuleRail {
  0%, 13.5% { color: var(--rv-brand-700); background: #fff; box-shadow: var(--rv-sh-1); }
  16.5%, 100% { color: var(--rv-ink-3); background: transparent; box-shadow: none; }
}
@keyframes rvModuleDot {
  0%, 13.5% { background: var(--rv-brand); box-shadow: 0 0 0 5px rgba(47,125,246,.12); }
  16.5%, 100% { background: var(--rv-line); box-shadow: none; }
}
/* 统计带 */
.rv-stats-band { padding: 8px 0 0; }
.rv-stats-inner { background: var(--rv-grad-ink); border-radius: var(--rv-r-xl); padding: 40px 56px; display: flex; align-items: center; justify-content: space-between; gap: 24px; box-shadow: var(--rv-sh-3); position: relative; overflow: hidden; }
.rv-stats-inner::after { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 120% at 90% 0%, rgba(47,125,246,.34), transparent 60%), radial-gradient(40% 100% at 10% 100%, rgba(109,92,255,.22), transparent 60%); }
.rv-stats-inner .st { position: relative; }
.rv-stats-inner .st b { font-size: 34px; font-weight: 850; color: #fff; letter-spacing: -1px; }
.rv-stats-inner .st span { display: block; font-size: 14px; color: rgba(255,255,255,.65); margin-top: 4px; }
.rv-stats-inner .vr { width: 1px; height: 48px; background: linear-gradient(180deg, transparent, rgba(255,255,255,.34), transparent); }
.rv-stats-inner .st b { background: linear-gradient(135deg,#fff,#bcd6ff); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* 模板 */
.rv-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.rv-tabs span { font-size: 14px; font-weight: 600; color: var(--rv-ink-3); padding: 9px 18px; border-radius: var(--rv-pill); border: 1px solid var(--rv-line); background: var(--rv-surface); transition: all .2s; cursor: pointer; }
.rv-tabs span:hover { border-color: var(--rv-brand); color: var(--rv-brand-700); }
.rv-tabs span.on { background: var(--rv-grad-brand); color: #fff; border-color: transparent; box-shadow: var(--rv-sh-brand); }
.rv-tpl-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.rv-tpl-card { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-md); overflow: hidden; cursor: pointer; transition: transform .35s var(--rv-ease), box-shadow .35s var(--rv-ease), border-color .35s; }
.rv-tpl-card:hover { transform: translateY(-8px); box-shadow: var(--rv-sh-3); border-color: transparent; }
.rv-tpl-shot { aspect-ratio: 3/4; background: var(--rv-surface-2); overflow: hidden; position: relative; }
.rv-tpl-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .5s var(--rv-ease); }
.rv-tpl-card:hover .rv-tpl-shot img { transform: scale(1.04); }
.rv-tpl-shot .ribbon { position: absolute; top: 12px; left: 12px; font-size: 11px; font-weight: 800; color: #fff; background: var(--rv-grad-ai); padding: 4px 11px; border-radius: var(--rv-pill); box-shadow: 0 6px 14px -6px rgba(109,92,255,.7); }
.rv-tpl-shot .ats { position: absolute; top: 12px; right: 12px; font-size: 11px; font-weight: 800; color: var(--rv-brand-700); background: rgba(255,255,255,.92); padding: 4px 10px; border-radius: var(--rv-pill); }
.rv-tpl-shot .use { position: absolute; inset: auto 0 0 0; padding: 26px 14px 16px; display: flex; justify-content: center; opacity: 0; transform: translateY(8px); transition: all .3s var(--rv-ease); background: linear-gradient(transparent, rgba(13, 19, 27,.55)); }
.rv-tpl-card:hover .rv-tpl-shot .use { opacity: 1; transform: none; }
.rv-tpl-shot .use .rv-btn { padding: 9px 20px; font-size: 12.5px; }
.rv-tpl-info { padding: 15px 18px 17px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rv-tpl-info h3 { font-size: var(--rv-fs-h3); font-weight: 800; letter-spacing: -.3px; margin: 0; }
.rv-tpl-info .cat { font-size: 11px; font-weight: 700; color: var(--rv-ai-700); background: var(--rv-ai-soft); padding: 4px 10px; border-radius: var(--rv-pill); white-space: nowrap; }

/* 编辑器展示 */
.rv-editor-wrap { display: grid; grid-template-columns: .82fr 1.18fr; gap: 48px; align-items: center; margin-top: 44px; }
.rv-editor-feat { display: flex; flex-direction: column; gap: 14px; }
.rv-editor-feat .f { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-md); padding: 22px 24px; display: flex; gap: 18px; transition: all .3s var(--rv-ease); }
.rv-editor-feat .f:hover { border-color: var(--rv-brand); box-shadow: var(--rv-sh-2); transform: translateX(4px); }
.rv-editor-feat .f .n { flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--rv-brand-soft); color: var(--rv-brand-700); font-weight: 850; display: grid; place-items: center; }
.rv-editor-feat .f h3 { font-size: var(--rv-fs-h3); font-weight: 800; margin: 0; } .rv-editor-feat .f p { font-size: 14px; color: var(--rv-ink-3); margin: 5px 0 0; }
.rv-editor-shot { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-3); overflow: hidden; }
.rv-editor-shot .top { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--rv-line-2); background: var(--rv-surface-2); }
.rv-editor-shot .top span { font-size: 12.5px; font-weight: 700; color: var(--rv-ink-2); }
.rv-editor-shot .top b { font-size: 11px; color: var(--rv-brand-700); font-weight: 700; }
.rv-editor-shot .body { display: grid; grid-template-columns: 120px 1fr 150px; min-height: 320px; }
.rv-editor-shot .body nav { border-right: 1px solid var(--rv-line-2); padding: 16px 12px; display: flex; flex-direction: column; gap: 6px; }
.rv-editor-shot .body nav span { font-size: 12.5px; font-weight: 600; color: var(--rv-ink-3); padding: 8px 10px; border-radius: 8px; }
.rv-editor-shot .body nav span.on { background: var(--rv-brand-soft); color: var(--rv-brand-700); }
.rv-editor-shot .paper { padding: 18px; display: grid; place-items: center; background: var(--rv-surface-2); }
.rv-editor-shot .paper img { border-radius: 8px; box-shadow: var(--rv-sh-2); max-height: 290px; width: auto; }
.rv-editor-shot aside { border-left: 1px solid var(--rv-line-2); padding: 16px 14px; background: linear-gradient(180deg, var(--rv-ai-soft), transparent); }
.rv-editor-shot aside b { font-size: 12.5px; font-weight: 800; color: var(--rv-ai-700); display: block; margin-bottom: 10px; }
.rv-editor-shot aside span { display: block; font-size: 11px; color: var(--rv-ink-2); background: #fff; border: 1px solid var(--rv-line); padding: 8px 10px; border-radius: 9px; margin-bottom: 7px; }

/* 双工具 */
.rv-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rv-panel { border-radius: var(--rv-r-lg); padding: 36px; border: 1px solid var(--rv-line); background: var(--rv-surface); box-shadow: var(--rv-sh-2); }
.rv-panel h2 { font-size: 24px; font-weight: 800; letter-spacing: -.4px; margin: 14px 0 0; }
.rv-panel > p { font-size: 14px; color: var(--rv-ink-3); margin-top: 10px; }
.rv-score { margin-top: 26px; }
.rv-score .big { display: flex; align-items: baseline; gap: 10px; margin-bottom: 18px; }
.rv-score .big strong { font-size: 52px; font-weight: 850; letter-spacing: -2px; background: var(--rv-grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rv-score .big em { font-style: normal; font-size: 14px; color: var(--rv-ink-4); }
.rv-score .metric { margin-bottom: 14px; }
.rv-score .metric .lab { display: flex; justify-content: space-between; font-size: 12.5px; margin-bottom: 6px; }
.rv-score .metric .lab span { color: var(--rv-ink-2); font-weight: 600; } .rv-score .metric .lab i { font-style: normal; font-weight: 800; color: var(--rv-brand-700); }
.rv-score .metric .bar { height: 8px; border-radius: var(--rv-pill); background: var(--rv-line-2); overflow: hidden; }
.rv-score .metric .bar b { display: block; height: 100%; border-radius: var(--rv-pill); background: var(--rv-grad-brand); }
.rv-iv { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
.rv-iv .q { background: var(--rv-surface-2); border: 1px solid var(--rv-line-2); border-radius: var(--rv-r-md); padding: 16px 18px; transition: all .25s var(--rv-ease); }
.rv-iv .q:hover { border-color: var(--rv-ai); background: #fff; box-shadow: var(--rv-sh-2); }
.rv-iv .q b { font-size: 11px; font-weight: 800; color: var(--rv-ai-700); background: var(--rv-ai-soft); padding: 3px 10px; border-radius: var(--rv-pill); }
.rv-iv .q p { font-size: 14px; color: var(--rv-ink-2); margin: 10px 0 0; }

/* AI 网格 */
.rv-ai-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.rv-ai-card { position: relative; background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-md); padding: 28px 24px; overflow: hidden; transition: all .35s var(--rv-ease); }
.rv-ai-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--rv-grad-ai); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--rv-ease); }
.rv-ai-card:hover { transform: translateY(-6px); box-shadow: var(--rv-sh-3); border-color: transparent; }
.rv-ai-card:hover::before { transform: scaleX(1); }
.rv-ai-card .num { font-size: 12.5px; font-weight: 800; color: var(--rv-ink-4); letter-spacing: 1px; }
.rv-ai-card h3 { font-size: var(--rv-fs-h3); font-weight: 800; margin: 12px 0 8px; }
.rv-ai-card p { font-size: 14px; color: var(--rv-ink-3); margin: 0; }

/* 流程 */
.rv-home .rv-flow { display: grid; grid-template-columns: repeat(4,1fr); background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); overflow: visible; box-shadow: var(--rv-sh-2); }
.rv-home .rv-flow .step { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; height: auto !important; min-height: 176px !important; padding: 38px 32px !important; border-right: 1px solid var(--rv-line-2); position: relative; overflow: visible !important; }
.rv-home .rv-flow .step:last-child { border-right: none; }
.rv-home .rv-flow .step b { display: inline-grid !important; place-items: center; width: 48px !important; height: 48px !important; min-height: 48px !important; border-radius: 15px !important; font-size: 17px !important; font-weight: 850; color: #fff !important; background: var(--rv-grad-brand) !important; box-shadow: var(--rv-sh-brand); }
.rv-home .rv-flow .step h3 { display: block !important; position: static !important; font-size: var(--rv-fs-h3) !important; font-weight: 800; margin: 20px 0 8px !important; white-space: nowrap; letter-spacing: -.3px; color: var(--rv-ink) !important; }
.rv-home .rv-flow .step p { display: block !important; position: static !important; font-size: 13px !important; color: var(--rv-ink-3) !important; margin: 0 !important; line-height: 1.65; }

/* 好评 */
.rv-tm-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.rv-tm { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-md); padding: 26px 24px; transition: all .35s var(--rv-ease); }
.rv-tm:hover { transform: translateY(-6px); box-shadow: var(--rv-sh-3); border-color: transparent; }
.rv-tm .stars { color: #ffb020; font-size: 13px; letter-spacing: 2px; margin-bottom: 14px; }
.rv-tm p { font-size: 14px; color: var(--rv-ink-2); line-height: 1.7; min-height: 96px; margin: 0; }
.rv-tm .who { display: flex; align-items: center; gap: 11px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--rv-line-2); }
.rv-tm .who .av { width: 40px; height: 40px; border-radius: var(--rv-pill); background: var(--rv-grad-ai); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 14px; }
.rv-tm .who b { font-size: 14px; font-weight: 700; } .rv-tm .who span { display: block; font-size: 11px; color: var(--rv-ink-4); }

/* CTA */
.rv-cta { position: relative; overflow: hidden; border-radius: var(--rv-r-xl); padding: 72px 48px; text-align: center; background: var(--rv-grad-ink); box-shadow: var(--rv-sh-3); }
.rv-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 120% at 20% 0%, rgba(47,125,246,.34), transparent 55%), radial-gradient(50% 120% at 85% 100%, rgba(109,92,255,.32), transparent 55%); }
.rv-cta > * { position: relative; }
.rv-cta h2 { font-size: var(--rv-fs-h2); font-weight: 850; color: #fff; letter-spacing: -.6px; margin: 0; }
.rv-cta p { margin-top: 14px; font-size: 16px; color: rgba(255,255,255,.72); }
.rv-cta .rv-btn { margin-top: 30px; background: #fff; color: var(--rv-ink); box-shadow: 0 18px 40px -12px rgba(0,0,0,.5); }
.rv-cta .rv-btn:hover { transform: translateY(-2px); box-shadow: 0 26px 50px -12px rgba(0,0,0,.6); }
.rv-cta .mini { margin-top: 16px; font-size: 12.5px; color: rgba(255,255,255,.55); }

/* 页脚 */
.rv-footer { padding: 64px 0 40px; border-top: 1px solid var(--rv-line); background: var(--rv-page); }
.rv-foot-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; }
.rv-foot-brand .brand { display: flex; align-items: center; gap: 11px; font-size: 18px; font-weight: 800; margin-bottom: 12px; }
.rv-foot-brand .brand .brand-mark img { width: 34px; height: 34px; }
.rv-foot-brand p { font-size: 12.5px; color: var(--rv-ink-4); max-width: 240px; margin: 0; }
.rv-foot-col b { font-size: 14px; font-weight: 800; display: block; margin-bottom: 14px; }
.rv-foot-col span { display: block; font-size: 12.5px; color: var(--rv-ink-3); margin-bottom: 10px; cursor: pointer; transition: color .2s; }
.rv-foot-col span:hover { color: var(--rv-brand-700); }
.rv-foot-bottom { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--rv-line); display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 11.5px; color: var(--rv-ink-4); }
.rv-foot-bottom a { color: var(--rv-ink-4); }
.rv-foot-bottom .ver { margin-left: auto; }

@media (max-width: 980px) {
  .rv-hero-grid, .rv-editor-wrap { grid-template-columns: 1fr; gap: 40px; }
  .rv-hero-stage { order: -1; }
  .rv-tpl-grid, .rv-ai-grid, .rv-tm-grid { grid-template-columns: repeat(2,1fr); }
  .rv-home .rv-flow { grid-template-columns: 1fr 1fr; } .rv-home .rv-flow .step:nth-child(2){ border-right: none; }
  .rv-dual, .rv-foot-grid { grid-template-columns: 1fr; }
  .rv-stats-inner { flex-wrap: wrap; justify-content: center; text-align: center; gap: 28px; } .rv-stats-inner .vr { display: none; }
}
@media (max-width: 560px) {
  .rv-wrap { padding: 0 20px; }
  .rv-tpl-grid, .rv-ai-grid, .rv-tm-grid, .rv-home .rv-flow { grid-template-columns: 1fr; }
  .rv-demo-body { grid-template-columns: 1fr; } .rv-demo-rail { display: none; }
  .rv-block { padding: 60px 0; }
  .rv-hero-proof { grid-template-columns: 1fr; max-width: none; }
  .rv-hero-proof div { padding: 11px 14px; border-right: 0; border-bottom: 1px solid rgba(47,125,246,.11); }
  .rv-hero-proof div:last-child { border-bottom: 0; }
}

/* Homepage conversion polish v116: let mobile readers understand the promise before the demo. */
@media (max-width: 980px) {
  .rv-home .rv-hero-stage { order: 0; }
}
/* ============ 首页改版样式 v1 结束 ============ */

/* ===========================================================
   模板库 / 我的简历 / 编辑器 作用域皮肤 v1
   仅覆盖外观,markup 与 data-* 钩子保持不变;作用域:.rv-skin
   =========================================================== */
/* ===== 全站统一蓝调:覆盖共享顶栏/弹层/旧内容使用的全局青绿 token ===== */
.product-shell {
  --boss-teal: #2f7df6; --boss-teal-dark: #1f63d6; --boss-teal-soft: #eaf2ff;
  --boss-soft-tint: #eef5ff; --boss-focus: 0 0 0 3px rgba(47,125,246,.16);
  --color-brand: #2f7df6; --color-brand-hover: #1f63d6; --color-brand-active: #1a57bd; --color-brand-soft: #eaf2ff; --color-brand-faint: #f3f8ff;
  --purple: #2f7df6; --purple-dark: #1f63d6; --purple-light: #eaf2ff; --purple-faint: #f3f8ff;
  --sl-teal: #2f7df6; --sl-mint: #5aa2ff; --sl-cyan: #1f63d6;
  --sl-cta: linear-gradient(135deg,#5aa2ff 0%,#2f7df6 55%,#1f63d6 100%);
  --focus-ring: 0 0 0 3px rgba(47,125,246,.16); --panel-border: rgba(47,125,246,.14);
}
/* page-hero / ai 页 的 kicker 硬编码青绿 → 蓝 */
.product-shell .page-kicker,
.product-shell .ai-kicker {
  border-color: rgba(47,125,246,.2) !important;
  color: #1f63d6 !important;
  background: rgba(47,125,246,.1) !important;
}

.rv-skin {
  /* 统一蓝调:与首页(.rv-home-shell)一致 */
  --rv-brand: #2f7df6; --rv-brand-700: #1f63d6; --rv-brand-soft: #eaf2ff;
  --rv-ai: #6d5cff; --rv-ai-700: #5a48f0; --rv-ai-soft: #efeeff;
  --rv-ink: #1f2329; --rv-ink-2: #2b3a55; --rv-ink-3: #4b5563; --rv-ink-4: #8a95ab;
  --rv-line: #e6ecf5; --rv-line-2: #f0f4fa; --rv-surface: #fff; --rv-surface-2: #f6f9ff; --rv-page: #fbfcff;
  --rv-grad-brand: linear-gradient(135deg,#5aa2ff 0%,#2f7df6 52%,#1f63d6 100%);
  --rv-grad-ai: linear-gradient(135deg,#7b6bff 0%,#6d5cff 50%,#2f7df6 120%);
  --rv-grad-ink: linear-gradient(135deg,#0a1c3a 0%,#102a52 100%);
  --rv-r-md: 16px; --rv-r-lg: 24px; --rv-pill: 999px;
  --rv-sh-1: 0 1px 2px rgba(11,27,51,.04), 0 2px 8px rgba(11,27,51,.05);
  --rv-sh-2: 0 6px 16px rgba(11,27,51,.07), 0 2px 6px rgba(11,27,51,.05);
  --rv-sh-3: 0 18px 40px -12px rgba(11,27,51,.18), 0 8px 18px -10px rgba(11,27,51,.10);
  --rv-sh-brand: 0 14px 30px -10px rgba(47,125,246,.5);
  --rv-ease: cubic-bezier(.22,.8,.22,1);
  /* 覆盖旧全局青绿 token → 蓝(影响所有带 .rv-skin 的二级页) */
  --color-brand: #2f7df6; --color-brand-hover: #1f63d6; --color-brand-active: #1a57bd; --color-brand-soft: #eaf2ff; --color-brand-faint: #f3f8ff;
  --purple: #2f7df6; --purple-dark: #1f63d6; --purple-light: #eaf2ff; --purple-faint: #f3f8ff;
  --sl-teal: #2f7df6; --sl-mint: #5aa2ff; --sl-cyan: #1f63d6;
  --sl-cta: linear-gradient(135deg,#5aa2ff 0%,#2f7df6 55%,#1f63d6 100%);
  --boss-soft-tint: #eef5ff; --focus-ring: 0 0 0 3px rgba(47,125,246,.16); --panel-border: rgba(47,125,246,.14);
}

/* ---------- 模板库 ---------- */
.rv-templates.template-page { background: var(--rv-page); }
.rv-templates .page-hero.template-hero { background: linear-gradient(135deg, #eef5ff 0%, #f1f0ff 100%); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-1); }
.rv-templates .page-kicker { color: var(--rv-brand-700); background: var(--rv-brand-soft); border-radius: var(--rv-pill); padding: 6px 14px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.rv-templates .page-hero.template-hero h1 { letter-spacing: -.6px; color: var(--rv-ink); }
.rv-templates .page-hero-metric b { background: var(--rv-grad-ai); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rv-templates .filter-options button { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); color: var(--rv-ink-3); transition: all .2s var(--rv-ease); }
.rv-templates .filter-options button:hover { border-color: var(--rv-brand); color: var(--rv-brand-700); }
.rv-templates .filter-options button.active { background: var(--rv-ink); color: #fff; border-color: var(--rv-ink); }
.rv-templates .ai-recommend h2 { letter-spacing: -.4px; }
.rv-templates .ai-recommend button { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); color: var(--rv-ink-2); transition: all .2s; }
.rv-templates .ai-recommend button:hover { border-color: var(--rv-brand); color: var(--rv-brand-700); }
.rv-templates .catalog-card { border-radius: var(--rv-r-md); border: 1px solid var(--rv-line); overflow: hidden; transition: transform .35s var(--rv-ease), box-shadow .35s var(--rv-ease), border-color .35s; }
.rv-templates .catalog-card:hover { transform: translateY(-8px); box-shadow: var(--rv-sh-3); border-color: transparent; }
.rv-templates .catalog-card.active { border-color: var(--rv-brand); box-shadow: var(--rv-sh-2); }
.rv-templates .catalog-preview img { transition: transform .5s var(--rv-ease); }
.rv-templates .catalog-card:hover .catalog-preview img { transform: scale(1.04); }
.rv-templates .catalog-hover-actions .primary.green { background: var(--rv-grad-brand); box-shadow: var(--rv-sh-brand); border: none; border-radius: var(--rv-pill); }
.rv-templates .catalog-hover-actions .outline.green-outline { border-radius: var(--rv-pill); border: 1px solid rgba(255,255,255,.6); color: #fff; backdrop-filter: blur(4px); }
.rv-templates .catalog-meta h3 { letter-spacing: -.3px; }
.rv-templates .catalog-title-line strong { color: var(--rv-ai-700); background: var(--rv-ai-soft); border-radius: var(--rv-pill); padding: 3px 10px; font-size: 11px; }

/* ---------- 我的简历 ---------- */
.rv-mine.mine-main { background: var(--rv-page); }
.rv-mine .mine-header.page-hero { background: linear-gradient(135deg, #eef5ff 0%, #f1f0ff 100%); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-1); }
.rv-mine .title-row h1 { letter-spacing: -.5px; color: var(--rv-ink); }
.rv-mine .title-row .count { color: var(--rv-brand-700); background: var(--rv-brand-soft); border-radius: var(--rv-pill); padding: 4px 12px; font-size: 13px; font-weight: 700; }
.rv-mine .button-row .primary.green { background: var(--rv-grad-brand); box-shadow: var(--rv-sh-brand); border: none; border-radius: var(--rv-pill); }
.rv-mine .button-row .outline.green-outline { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); color: var(--rv-ink-2); }
.rv-mine .button-row .outline.green-outline:hover { border-color: var(--rv-brand); color: var(--rv-brand-700); }
.rv-mine .resume-card { border-radius: var(--rv-r-md); border: 1px solid var(--rv-line); overflow: hidden; transition: transform .35s var(--rv-ease), box-shadow .35s var(--rv-ease), border-color .35s; }
.rv-mine .resume-card:hover { transform: translateY(-6px); box-shadow: var(--rv-sh-3); border-color: transparent; }
.rv-mine .card-meta .card-title h3 { letter-spacing: -.3px; color: var(--rv-ink); }
.rv-mine .card-meta .updated { color: var(--rv-ink-4); }
.rv-mine .card-overlay .overlay-btn { border-radius: var(--rv-pill); backdrop-filter: blur(4px); }
.rv-mine .card-overlay .overlay-btn.edit { background: var(--rv-grad-brand); color: #fff; box-shadow: var(--rv-sh-brand); }
.rv-mine .more-menu { border-radius: 14px; border: 1px solid var(--rv-line); box-shadow: var(--rv-sh-3); overflow: hidden; }
.rv-mine .more-menu .danger-item { color: #ef4444; }
.rv-mine .export-submenu { border-radius: 14px; border: 1px solid var(--rv-line); box-shadow: var(--rv-sh-3); }
.rv-mine .empty-tip { color: var(--rv-ink-4); }

/* ---------- 在线编辑器 ---------- */
/* 编辑器统一为蓝调(仅在 .rv-editor 作用域内覆盖颜色变量,不影响其它页) */
.rv-editor.editor-view {
  --rv-brand: #2f7df6; --rv-brand-700: #1f63d6; --rv-brand-soft: #eaf2ff;
  --rv-ai: #6d5cff; --rv-ai-700: #5a48f0; --rv-ai-soft: #efeeff;
  --rv-grad-brand: linear-gradient(135deg,#5aa2ff 0%,#2f7df6 52%,#1f63d6 100%);
  --rv-sh-brand: 0 14px 30px -10px rgba(47,125,246,.5);
  /* 覆盖旧编辑器使用的全局青绿 token → 蓝 */
  --color-brand: #2f7df6; --color-brand-hover: #1f63d6; --color-brand-active: #1a57bd; --color-brand-soft: #eaf2ff; --color-brand-faint: #f3f8ff;
  --purple: #2f7df6; --purple-dark: #1f63d6; --purple-light: #eaf2ff; --purple-faint: #f3f8ff;
  --sl-teal: #2f7df6; --sl-mint: #5aa2ff; --sl-cyan: #1f63d6;
  --sl-cta: linear-gradient(135deg,#5aa2ff 0%,#2f7df6 55%,#1f63d6 100%);
  --boss-soft-tint: #eef5ff;
  --focus-ring: 0 0 0 3px rgba(47,125,246,.16);
  --panel-border: rgba(47,125,246,.14);
}
/* AI 面板等残留硬编码青绿 → 蓝 */
.rv-editor .ai-suite-btn { background: var(--rv-grad-brand) !important; box-shadow: 0 18px 34px rgba(47,125,246,.24) !important; }
.rv-editor .ai-job-head em { background: rgba(47,125,246,.12) !important; color: #1f63d6 !important; }
.rv-editor .ai-job-card { border-color: rgba(47,125,246,.34) !important; }
.rv-editor .ai-empty-guide { border-color: rgba(47,125,246,.42) !important; }
.rv-editor .saved.save-saved { background: rgba(47,125,246,.08) !important; border-color: rgba(47,125,246,.2) !important; }
/* 旧编辑器中硬编码青绿的少量覆盖 */
.rv-editor .tool-rail button.active,
.rv-editor .tool-rail button:hover { color: #fff !important; background: var(--sl-cta) !important; box-shadow: 0 12px 24px rgba(47,125,246,.22) !important; }
.rv-editor .ai-strip { border-color: rgba(47,125,246,.28) !important; background: #eef5ff !important; }
.rv-editor .avatar-shape-row button.active,
.rv-editor .avatar-style-row button.active { border-color: #bcd6ff !important; background: #eaf2ff !important; color: #1f63d6 !important; box-shadow: 0 0 0 3px rgba(47,125,246,.1) !important; }
.rv-editor .rail-btn.active { border-color: #bcd6ff !important; color: #1f63d6 !important; background: linear-gradient(180deg,#eaf2ff 0%,#f6faff 100%) !important; box-shadow: 0 16px 34px rgba(31,99,214,.13) !important; }
.rv-editor.editor-view { background: var(--rv-page); }
.rv-editor .editor-topbar { background: rgba(255,255,255,.82); backdrop-filter: saturate(180%) blur(16px); border-bottom: 1px solid var(--rv-line); box-shadow: var(--rv-sh-1); }
.rv-editor .editor-topbar .icon-btn,
.rv-editor .editor-topbar .file-btn { border-radius: 10px; border: 1px solid var(--rv-line); color: var(--rv-ink-2); transition: all .2s; }
.rv-editor .editor-topbar .icon-btn:hover,
.rv-editor .editor-topbar .file-btn:hover { border-color: var(--rv-brand); color: var(--rv-brand-700); background: var(--rv-brand-soft); }
.rv-editor .doc-title-btn { font-weight: 800; letter-spacing: -.3px; color: var(--rv-ink); }
.rv-editor .doc-info .saved b { color: var(--rv-brand-700); }
.rv-editor .doc-info .saved span { background: var(--rv-brand); }
.rv-editor .top-mini { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); color: var(--rv-ink-2); transition: all .2s; }
.rv-editor .top-mini:hover { border-color: var(--rv-brand); color: var(--rv-brand-700); }
.rv-editor .small-primary { border-radius: var(--rv-pill); background: var(--rv-grad-brand); box-shadow: var(--rv-sh-brand); border: none; color: #fff; font-weight: 700; }
.rv-editor .small-primary:hover { transform: translateY(-1px); box-shadow: 0 18px 34px -10px rgba(47,125,246,.55); }
.rv-editor .canvas-zoom-tools { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-pill); box-shadow: var(--rv-sh-1); }
.rv-editor .canvas-zoom-tools .icon-btn:hover,
.rv-editor .canvas-zoom-tools .zoom-chip:hover { color: var(--rv-brand-700); }
.rv-editor .a4 { box-shadow: var(--rv-sh-3); border-radius: 6px; }
.rv-editor .tool-rail { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-2); }
.rv-editor .tool-rail button.active,
.rv-editor .tool-rail .rail-btn.active { color: var(--rv-brand-700); }
.rv-editor .side-panel { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-2); }
/* ============ 三页作用域皮肤 v1 结束 ============ */

/* ===========================================================
   AI 简历页(aiResumeView)作用域皮肤 v1 — 作用域:.rv-ai
   仅覆盖外观,markup 与 data-* 钩子保持不变
   =========================================================== */
.rv-ai.ai-page { background: var(--rv-page); }
.rv-ai .ai-title.page-hero { background: linear-gradient(135deg, #f1f0ff 0%, #eef5ff 100%); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-1); }
.rv-ai .ai-kicker { color: var(--rv-ai-700); background: var(--rv-ai-soft); border-radius: var(--rv-pill); padding: 6px 14px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.rv-ai .ai-title.page-hero h1 { letter-spacing: -.6px; color: var(--rv-ink); }
.rv-ai .ai-title-actions .primary.green { background: var(--rv-grad-ai); box-shadow: 0 14px 30px -10px rgba(109,92,255,.5); border: none; border-radius: var(--rv-pill); }
.rv-ai .ai-title-actions .outline.green-outline { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); color: var(--rv-ink-2); transition: all .2s; }
.rv-ai .ai-title-actions .outline.green-outline:hover { border-color: var(--rv-ai); color: var(--rv-ai-700); }
.rv-ai .ai-sample-search-panel { background: var(--rv-surface); border: 1px solid var(--rv-line); border-radius: var(--rv-r-lg); box-shadow: var(--rv-sh-2); }
.rv-ai .section-title h2 { letter-spacing: -.4px; color: var(--rv-ink); }
.rv-ai .ai-sample-search-input { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); background: var(--rv-surface-2); transition: all .2s; }
.rv-ai .ai-sample-search-input:focus { border-color: var(--rv-brand); background: #fff; box-shadow: 0 0 0 3px rgba(47,125,246,.12); outline: none; }
.rv-ai .ai-sample-search-row .primary.green { background: var(--rv-grad-brand); box-shadow: var(--rv-sh-brand); border: none; border-radius: var(--rv-pill); }
.rv-ai .ai-sample-examples button { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); color: var(--rv-ink-3); transition: all .2s; }
.rv-ai .ai-sample-examples button:hover { border-color: var(--rv-ai); color: var(--rv-ai-700); background: var(--rv-ai-soft); }
.rv-ai .ai-sample-side { background: linear-gradient(180deg, var(--rv-ai-soft), transparent); border: 1px solid var(--rv-line); border-radius: var(--rv-r-md); }
.rv-ai .ai-sample-side b { color: var(--rv-ai-700); }
.rv-ai .ai-build-message { color: var(--rv-brand-700); background: var(--rv-brand-soft); border-radius: 10px; padding: 8px 12px; }
.rv-ai .ai-sample-results-head h2 { letter-spacing: -.4px; color: var(--rv-ink); }
.rv-ai .ai-sample-card { border-radius: var(--rv-r-md); border: 1px solid var(--rv-line); overflow: hidden; transition: transform .35s var(--rv-ease), box-shadow .35s var(--rv-ease), border-color .35s; }
.rv-ai .ai-sample-card:hover { transform: translateY(-8px); box-shadow: var(--rv-sh-3); border-color: transparent; }
.rv-ai .ai-sample-rank { color: #fff; background: var(--rv-grad-ai); border-radius: var(--rv-pill); padding: 4px 12px; font-size: 11px; font-weight: 800; display: inline-block; box-shadow: 0 8px 16px -6px rgba(109,92,255,.6); }
.rv-ai .ai-sample-card-body h3 { letter-spacing: -.3px; color: var(--rv-ink); }
.rv-ai .ai-sample-meta span { color: var(--rv-ink-3); background: var(--rv-surface-2); border: 1px solid var(--rv-line-2); border-radius: var(--rv-pill); padding: 3px 10px; font-size: 11px; }
.rv-ai .ai-sample-tags span { color: var(--rv-brand-700); background: var(--rv-brand-soft); border-radius: var(--rv-pill); padding: 3px 10px; font-size: 11px; }
.rv-ai .ai-sample-actions .outline.green-outline { border-radius: var(--rv-pill); border: 1px solid var(--rv-line); color: var(--rv-ink-2); transition: all .2s; }
.rv-ai .ai-sample-actions .outline.green-outline:hover { border-color: var(--rv-ai); color: var(--rv-ai-700); }
.rv-ai .ai-sample-actions .primary.green { background: var(--rv-grad-brand); box-shadow: var(--rv-sh-brand); border: none; border-radius: var(--rv-pill); }
/* ============ AI 简历页作用域皮肤 v1 结束 ============ */

/* ============================================================
   极简设计标准 v1（DS）—— 编辑器作为标杆页
   原则:中性灰 + 单一品牌蓝(克制) / 去渐变光晕3D / 细描边 / 统一字重字号 / 8px 间距
   仅覆盖外观,markup 与功能钩子不变;作用域 .rv-editor
   ============================================================ */
.rv-editor.editor-view {
  --ds-ink:#111827; --ds-ink-2:#374151; --ds-muted:#6b7280; --ds-faint:#9ca3af;
  --ds-line:#ECEEF1; --ds-line-2:#F3F4F6; --ds-page:#f7f8fa; --ds-surface:#fff;
  --ds-brand:#2f7df6; --ds-brand-700:#1f63d6; --ds-brand-soft:#eef4ff;
  background: var(--ds-page) !important;
}
.rv-editor .editor-body, .rv-editor .canvas-area { background: var(--ds-page) !important; }

/* 顶栏:纯白 + 细底边,无阴影无玻璃 */
.rv-editor .editor-topbar { background:#fff !important; backdrop-filter:none !important; border-bottom:1px solid var(--ds-line) !important; box-shadow:none !important; }
.rv-editor .editor-topbar .icon-btn, .rv-editor .editor-topbar .file-btn { border:1px solid var(--ds-line) !important; border-radius:8px !important; color:var(--ds-ink-2) !important; background:#fff !important; box-shadow:none !important; }
.rv-editor .editor-topbar .icon-btn:hover, .rv-editor .editor-topbar .file-btn:hover { background:var(--ds-line-2) !important; color:var(--ds-ink) !important; }
.rv-editor .doc-title-btn { font-weight:600 !important; color:var(--ds-ink) !important; letter-spacing:0 !important; font-size:15px !important; }
.rv-editor .doc-info .saved { background:transparent !important; border:none !important; box-shadow:none !important; }
.rv-editor .doc-info .saved b { color:var(--ds-brand-700) !important; font-weight:500 !important; }
.rv-editor .doc-info .saved span { background:var(--ds-brand) !important; }
.rv-editor .top-mini { border:1px solid var(--ds-line) !important; border-radius:8px !important; color:var(--ds-ink-2) !important; background:#fff !important; font-weight:500 !important; box-shadow:none !important; }
.rv-editor .top-mini:hover { background:var(--ds-line-2) !important; color:var(--ds-ink) !important; }
.rv-editor .small-primary { border-radius:8px !important; background:var(--ds-brand) !important; color:#fff !important; font-weight:600 !important; box-shadow:none !important; }
.rv-editor .small-primary:hover { background:var(--ds-brand-700) !important; transform:none !important; box-shadow:none !important; }

/* 画布与缩放 */
.rv-editor .canvas-zoom-tools { background:#fff !important; border:1px solid var(--ds-line) !important; border-radius:10px !important; box-shadow:none !important; }
.rv-editor .a4 { box-shadow:0 1px 3px rgba(17,24,39,.08), 0 10px 28px rgba(17,24,39,.06) !important; border-radius:4px !important; }

/* 工具导轨:大圆 → 极简竖排卡片 */
.rv-editor .tool-rail { background:#fff !important; border:1px solid var(--ds-line) !important; border-radius:12px !important; box-shadow:none !important; padding:8px !important; gap:2px !important; }
.rv-editor .tool-rail button { width:auto !important; min-width:0 !important; height:auto !important; aspect-ratio:auto !important; border:none !important; border-radius:8px !important; background:transparent !important; box-shadow:none !important; color:var(--ds-muted) !important; font-weight:500 !important; padding:10px 6px !important; gap:4px !important; }
.rv-editor .tool-rail button:hover { background:var(--ds-line-2) !important; color:var(--ds-ink-2) !important; }
.rv-editor .tool-rail button.active { background:var(--ds-brand-soft) !important; color:var(--ds-brand-700) !important; box-shadow:none !important; }

/* 右侧面板 */
.rv-editor .side-panel { background:#fff !important; border:1px solid var(--ds-line) !important; border-radius:12px !important; box-shadow:none !important; }
.rv-editor .side-heading h2 { font-weight:600 !important; font-size:18px !important; color:var(--ds-ink) !important; letter-spacing:0 !important; }
.rv-editor .ai-strip { background:var(--ds-brand-soft) !important; border:1px solid #dce7ff !important; border-radius:10px !important; box-shadow:none !important; }
.rv-editor .ai-strip span { color:var(--ds-ink-2) !important; }
.rv-editor .ai-strip .pill { background:#fff !important; border:1px solid var(--ds-line) !important; color:var(--ds-brand-700) !important; border-radius:8px !important; font-weight:500 !important; box-shadow:none !important; }
.rv-editor .editor-panel-card, .rv-editor .editor-module-card { background:#fff !important; border:1px solid var(--ds-line) !important; border-radius:12px !important; box-shadow:none !important; }
.rv-editor .section-head h3, .rv-editor .module-section-head h3 { font-weight:600 !important; color:var(--ds-ink) !important; letter-spacing:0 !important; }
.rv-editor .section-head span { color:var(--ds-faint) !important; font-weight:400 !important; }

/* 表单输入:细描边 + 蓝聚焦环 */
.rv-editor .form-grid input, .rv-editor .basic-field input, .rv-editor input[type="text"], .rv-editor input:not([type]), .rv-editor textarea, .rv-editor select { border:1px solid var(--ds-line) !important; border-radius:8px !important; background:#fff !important; color:var(--ds-ink) !important; box-shadow:none !important; }
.rv-editor input:focus, .rv-editor textarea:focus, .rv-editor select:focus { border-color:var(--ds-brand) !important; box-shadow:0 0 0 3px rgba(47,125,246,.12) !important; outline:none !important; }
.rv-editor label, .rv-editor .field-label { color:var(--ds-muted) !important; font-weight:400 !important; }

/* "添加"类按钮:克制虚线 */
.rv-editor .add-item, .rv-editor .add-module-btn, .rv-editor .add-basic-field, .rv-editor .upload-avatar-btn { border:1px dashed #d4dbe6 !important; background:#fff !important; color:var(--ds-brand-700) !important; border-radius:8px !important; font-weight:500 !important; box-shadow:none !important; }
.rv-editor .add-item:hover, .rv-editor .add-module-btn:hover, .rv-editor .add-basic-field:hover, .rv-editor .upload-avatar-btn:hover { background:var(--ds-brand-soft) !important; border-color:#bcd2ff !important; }

/* 头像形状/样式切换 */
.rv-editor .avatar-shape-row button, .rv-editor .avatar-style-row button { border:1px solid var(--ds-line) !important; background:#fff !important; color:var(--ds-muted) !important; border-radius:8px !important; box-shadow:none !important; font-weight:500 !important; }
.rv-editor .avatar-shape-row button.active, .rv-editor .avatar-style-row button.active { background:var(--ds-brand-soft) !important; color:var(--ds-brand-700) !important; border-color:#cdddff !important; box-shadow:none !important; }

/* 模块 AI 链接/菜单 */
.rv-editor .ai-link { color:var(--ds-brand-700) !important; font-weight:500 !important; }
.rv-editor .module-menu-trigger { color:var(--ds-muted) !important; }
/* ============ 极简设计标准 v1(编辑器)结束 ============ */

/* ============================================================
   编辑器左右结构 v77
   目标:输入框在左侧,简历预览在右侧;保留现有蓝色极简配色
   ============================================================ */
.rv-editor .editor-split-body {
  width: 100% !important;
  height: calc(100vh - 74px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(480px, 37vw) minmax(680px, 1fr) !important;
  gap: 0 !important;
  background: var(--ds-page) !important;
  overflow: hidden !important;
}

.rv-editor .editor-input-zone {
  min-width: 0;
  height: 100%;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  border-right: 1px solid var(--ds-line);
  background: #fff;
  overflow: hidden;
}

.rv-editor .editor-input-zone .tool-rail {
  position: static !important;
  width: 72px !important;
  height: 100% !important;
  padding: 12px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  border: 0 !important;
  border-right: 1px solid var(--ds-line) !important;
  border-radius: 0 !important;
  background: #fbfcfe !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.rv-editor .editor-input-zone .rail-btn {
  width: 56px !important;
  min-height: 58px !important;
  padding: 7px 5px !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  gap: 4px !important;
}

.rv-editor .editor-input-zone .rail-btn b {
  max-width: 46px;
  font-size: 11px !important;
  line-height: 1.15 !important;
  white-space: normal;
  text-align: center;
}

.rv-editor .editor-input-zone .side-panel {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  min-width: 0 !important;
  padding: 28px 28px 52px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
}

.rv-editor .editor-input-zone .side-heading {
  position: sticky;
  top: -28px;
  z-index: 5;
  margin: -28px -28px 18px;
  padding: 22px 28px 16px;
  border-bottom: 1px solid var(--ds-line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
}

.rv-editor .editor-input-zone .ai-strip {
  margin-bottom: 16px !important;
}

.rv-editor .editor-input-zone .editor-panel-card,
.rv-editor .editor-input-zone .editor-module-card {
  border-radius: 10px !important;
}

.rv-editor .editor-input-zone .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.rv-editor .editor-preview-zone {
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 42px clamp(36px, 5vw, 96px) 96px !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: grid;
  justify-items: center;
  align-content: start;
  background:
    linear-gradient(rgba(47,125,246,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,125,246,.04) 1px, transparent 1px),
    var(--ds-page) !important;
  background-size: 28px 28px, 28px 28px, auto !important;
  box-shadow: none !important;
}

.rv-editor .editor-preview-zone .a4 {
  width: min(760px, calc(100% - 24px)) !important;
  margin: 0 auto 80px !important;
}

.rv-editor .editor-preview-zone .canvas-zoom-tools {
  position: fixed !important;
  right: 32px !important;
  bottom: 28px !important;
  z-index: 30 !important;
}

@media (max-width: 1180px) {
  .rv-editor .editor-split-body {
    height: auto !important;
    min-height: calc(100vh - 74px) !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

  .rv-editor .editor-input-zone {
    height: auto;
    min-height: 560px;
    border-right: 0;
    border-bottom: 1px solid var(--ds-line);
  }

  .rv-editor .editor-preview-zone {
    min-height: 760px !important;
  }
}

@media (max-width: 760px) {
  .rv-editor .editor-input-zone {
    grid-template-columns: 1fr;
  }

  .rv-editor .editor-input-zone .tool-rail {
    width: 100% !important;
    height: auto !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ds-line) !important;
  }

  .rv-editor .editor-input-zone .rail-btn {
    flex: 0 0 62px;
  }

  .rv-editor .editor-input-zone .form-grid {
    grid-template-columns: 1fr;
  }

  .rv-editor .editor-preview-zone {
    padding: 22px 14px 88px !important;
  }
}

/* ============================================================
   编辑器输入区减框 v80
   目标:左侧表单更接近竞品的简洁输入框,隐藏丑陋滚动条和拖动把手
   ============================================================ */
.rv-editor .editor-input-zone {
  background: #fff !important;
}

.rv-editor .editor-input-zone .side-panel {
  padding: 26px 38px 56px !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.rv-editor .editor-input-zone .side-panel::-webkit-scrollbar,
.rv-editor .editor-input-zone .tool-rail::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.rv-editor .editor-input-zone .side-heading {
  margin: -26px -38px 22px !important;
  padding: 24px 38px 18px !important;
  border-bottom: 1px solid #f1f3f6 !important;
  background: rgba(255,255,255,.98) !important;
}

.rv-editor .editor-input-zone .ai-strip {
  border-color: #d9e6ff !important;
  border-radius: 12px !important;
  background: #f1f6ff !important;
  box-shadow: none !important;
}

.rv-editor .editor-input-zone .editor-panel-card,
.rv-editor .editor-input-zone .editor-module-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-editor .editor-input-zone .editor-panel-card {
  padding-bottom: 28px !important;
  border-bottom: 1px solid #edf0f4 !important;
}

.rv-editor .editor-input-zone .module-edit-list {
  gap: 0 !important;
  margin-top: 0 !important;
}

.rv-editor .editor-input-zone .editor-module-card {
  padding: 28px 0 !important;
  border-bottom: 1px solid #edf0f4 !important;
}

.rv-editor .editor-input-zone .editor-module-card:hover,
.rv-editor .editor-input-zone .editor-panel-card:hover {
  border-color: #edf0f4 !important;
  box-shadow: none !important;
}

.rv-editor .editor-input-zone .section-head {
  margin-bottom: 16px !important;
}

.rv-editor .editor-input-zone .section-head h3,
.rv-editor .editor-input-zone .side-heading h2 {
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.rv-editor .editor-input-zone .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 28px !important;
}

.rv-editor .editor-input-zone .basic-field {
  grid-column: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
  align-items: start !important;
}

.rv-editor .editor-input-zone .basic-drag-handle,
.rv-editor .editor-input-zone .basic-field-actions {
  display: none !important;
}

.rv-editor .editor-input-zone .basic-title-cell {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #6b7280 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.rv-editor .editor-input-zone .basic-title-cell span {
  font-weight: 500 !important;
}

.rv-editor .editor-input-zone .locked-field {
  color: #a5b0c2 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.rv-editor .editor-input-zone .basic-value-input,
.rv-editor .editor-input-zone .basic-label-input,
.rv-editor .editor-input-zone .form-grid input,
.rv-editor .editor-input-zone .form-grid textarea,
.rv-editor .editor-input-zone .module-real-form input,
.rv-editor .editor-input-zone .module-real-form textarea,
.rv-editor .editor-input-zone .module-real-form select,
.rv-editor .editor-input-zone input[type="text"],
.rv-editor .editor-input-zone input:not([type]),
.rv-editor .editor-input-zone textarea,
.rv-editor .editor-input-zone select {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #f5f6f8 !important;
  box-shadow: none !important;
  color: #111827 !important;
  font-weight: 500 !important;
}

.rv-editor .editor-input-zone .basic-value-input:focus,
.rv-editor .editor-input-zone .basic-label-input:focus,
.rv-editor .editor-input-zone input:focus,
.rv-editor .editor-input-zone textarea:focus,
.rv-editor .editor-input-zone select:focus {
  background: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(47,125,246,.42), 0 0 0 3px rgba(47,125,246,.08) !important;
}

.rv-editor .editor-input-zone .avatar-editor {
  border-color: #edf0f4 !important;
  background: #fafbfc !important;
  box-shadow: none !important;
}

.rv-editor .editor-input-zone .upload-avatar-btn,
.rv-editor .editor-input-zone .add-basic-field,
.rv-editor .editor-input-zone .add-item,
.rv-editor .editor-input-zone .add-module-btn {
  border-color: #d9e1ec !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-editor .editor-input-zone .module-menu-trigger {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  .rv-editor .editor-input-zone .side-panel {
    padding: 22px 22px 48px !important;
  }

  .rv-editor .editor-input-zone .side-heading {
    margin: -22px -22px 20px !important;
    padding: 22px 22px 16px !important;
  }

  .rv-editor .editor-input-zone .form-grid {
    grid-template-columns: 1fr !important;
  }
}

/* DeepHire 三栏编辑器 v82 final overrides: kept at EOF for cascade priority */
.rv-editor.editor-deephire {
  --dh-ink:#1f2933; --dh-text:#46515f; --dh-muted:#8b949e; --dh-line:#edf0f2; --dh-bg:#fafafa; --dh-green:#2f7df6; --dh-green-soft:#eaf2ff;
  background:#fff !important;
  color:var(--dh-ink) !important;
}
.rv-editor.editor-deephire .site-footer { display:none !important; }
.rv-editor.editor-deephire .editor-deephire-topbar {
  height:56px !important; min-height:56px !important; padding:0 22px !important; border:0 !important; border-bottom:1px solid var(--dh-line) !important; border-radius:0 !important; background:#fff !important; box-shadow:none !important; backdrop-filter:none !important;
}
.rv-editor.editor-deephire .editor-deephire-brand { gap:9px !important; }
.rv-editor.editor-deephire .editor-deephire-brand img { width:26px !important; height:26px !important; border-radius:7px !important; }
.rv-editor.editor-deephire .editor-deephire-brand b { color:#1f2933 !important; font-size:20px !important; font-weight:780 !important; }
.rv-editor.editor-deephire .editor-deephire-title { margin-left:18px !important; padding-left:18px !important; border-left:1px solid #eef0f2 !important; gap:9px !important; }
.rv-editor.editor-deephire .editor-deephire-title .doc-title-btn { max-width:240px !important; height:32px !important; padding:0 !important; color:#1f2933 !important; font-size:14px !important; font-weight:650 !important; background:transparent !important; }
.rv-editor.editor-deephire .editor-deephire-title > em { padding:2px 8px !important; border-radius:999px !important; background:#f3f5f6 !important; color:#79828d !important; font-size:12px !important; font-style:normal !important; font-weight:600 !important; }
.rv-editor.editor-deephire .editor-deephire-title .saved { min-height:22px !important; padding:0 !important; border:0 !important; background:transparent !important; font-size:12px !important; }
.rv-editor.editor-deephire .editor-deephire-title .saved em { display:none !important; }
.rv-editor.editor-deephire .editor-deephire-topbar .icon-btn,
.rv-editor.editor-deephire .editor-deephire-topbar .file-btn,
.rv-editor.editor-deephire .editor-deephire-topbar .top-mini {
  height:32px !important; min-height:32px !important; border:1px solid var(--dh-line) !important; border-radius:8px !important; background:#fff !important; color:#6b7280 !important; box-shadow:none !important; font-size:13px !important; font-weight:560 !important;
}
.rv-editor.editor-deephire .editor-deephire-topbar .small-primary { height:34px !important; padding:0 18px !important; border-radius:9px !important; background:var(--dh-green) !important; color:#fff !important; box-shadow:none !important; font-weight:650 !important; }
.rv-editor.editor-deephire .editor-deephire-body {
  width:100% !important; height:calc(100vh - 56px) !important; min-height:0 !important; grid-template-columns:clamp(340px,26vw,500px) minmax(620px,1fr) clamp(300px,24vw,460px) !important; gap:0 !important; padding:0 !important; margin:0 !important; overflow:hidden !important; background:#fff !important;
}
.rv-editor.editor-deephire .editor-input-zone {
  height:100% !important; display:grid !important; grid-template-rows:auto minmax(0,1fr) !important; grid-template-columns:1fr !important; border-right:1px solid var(--dh-line) !important; background:#fff !important; overflow:hidden !important;
}
.rv-editor.editor-deephire .editor-deephire-tabs {
  position:static !important; width:auto !important; height:42px !important; display:flex !important; flex-direction:row !important; align-items:center !important; gap:4px !important; padding:8px 20px 4px !important; border:0 !important; background:#fff !important; box-shadow:none !important;
}
.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn {
  width:auto !important; min-height:30px !important; height:30px !important; padding:0 11px !important; display:inline-flex !important; align-items:center !important; gap:5px !important; border:0 !important; border-radius:15px !important; color:#9aa1aa !important; background:#f5f6f7 !important; box-shadow:none !important;
}
.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn .ui-icon { width:14px !important; height:14px !important; stroke-width:2 !important; }
.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn b { max-width:none !important; color:inherit !important; font-size:12px !important; line-height:1 !important; white-space:nowrap !important; font-weight:620 !important; }
.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn.active { color:#2f3b45 !important; background:#fff !important; box-shadow:0 1px 5px rgba(31,41,55,.08) !important; }
.rv-editor.editor-deephire .side-panel {
  height:100% !important; padding:14px 22px 34px !important; overflow:auto !important; scrollbar-width:thin !important; scrollbar-color:#c9cfd6 transparent !important; border:0 !important; border-radius:0 !important; background:#fff !important; box-shadow:none !important;
}
.rv-editor.editor-deephire .side-panel::-webkit-scrollbar { width:5px !important; height:5px !important; display:block !important; }
.rv-editor.editor-deephire .side-panel::-webkit-scrollbar-thumb { background:#c9cfd6 !important; border-radius:99px !important; }
.rv-editor.editor-deephire .side-heading { position:static !important; margin:0 0 16px !important; padding:0 !important; border:0 !important; background:transparent !important; backdrop-filter:none !important; }
.rv-editor.editor-deephire .side-heading h2 { margin:0 !important; font-size:14px !important; color:#303942 !important; font-weight:700 !important; }
.rv-editor.editor-deephire .ai-strip { display:none !important; }
.rv-editor.editor-deephire .editor-panel-card,
.rv-editor.editor-deephire .editor-module-card { padding:0 0 26px !important; margin:0 !important; border:0 !important; border-bottom:1px solid #f1f2f3 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.rv-editor.editor-deephire .editor-module-card { padding-top:24px !important; }
.rv-editor.editor-deephire .section-head { margin:0 0 14px !important; }
.rv-editor.editor-deephire .section-head h3 { color:#303942 !important; font-size:15px !important; font-weight:700 !important; }
.rv-editor.editor-deephire .section-head span { color:#a2aab3 !important; font-size:12px !important; }
.rv-editor.editor-deephire .form-grid { grid-template-columns:1fr !important; gap:14px !important; }
.rv-editor.editor-deephire .basic-field { grid-column:1 !important; grid-template-columns:1fr !important; gap:6px !important; }
.rv-editor.editor-deephire .basic-title-cell { padding:0 !important; background:transparent !important; color:#6f7781 !important; font-size:12px !important; font-weight:600 !important; }
.rv-editor.editor-deephire .locked-field { color:#d96363 !important; }
.rv-editor.editor-deephire .basic-drag-handle,
.rv-editor.editor-deephire .basic-field-actions { display:none !important; }
.rv-editor.editor-deephire .basic-value-input,
.rv-editor.editor-deephire .basic-label-input,
.rv-editor.editor-deephire .form-grid input,
.rv-editor.editor-deephire .form-grid textarea,
.rv-editor.editor-deephire .module-real-form input,
.rv-editor.editor-deephire .module-real-form textarea,
.rv-editor.editor-deephire .module-real-form select,
.rv-editor.editor-deephire input[type="text"],
.rv-editor.editor-deephire input:not([type]),
.rv-editor.editor-deephire textarea,
.rv-editor.editor-deephire select {
  min-height:36px !important; padding:0 12px !important; border:1px solid #eceff1 !important; border-radius:7px !important; background:#fff !important; color:#2a333c !important; font-size:12px !important; font-weight:520 !important; box-shadow:none !important;
}
.rv-editor.editor-deephire textarea { min-height:116px !important; padding-top:10px !important; line-height:1.65 !important; }
.rv-editor.editor-deephire .upload-avatar-btn,
.rv-editor.editor-deephire .add-basic-field,
.rv-editor.editor-deephire .add-item,
.rv-editor.editor-deephire .add-module-btn { min-height:36px !important; border:1px solid #eceff1 !important; border-radius:7px !important; background:#fff !important; color:#6b7280 !important; font-size:12px !important; font-weight:600 !important; }
.rv-editor.editor-deephire .avatar-editor { padding:10px !important; border:1px solid #f0f1f2 !important; border-radius:8px !important; background:#fff !important; }
.rv-editor.editor-deephire .avatar-crop-preview { width:84px !important; height:84px !important; border-radius:8px !important; }
.rv-editor.editor-deephire .avatar-shape-row button,
.rv-editor.editor-deephire .avatar-style-row button { min-height:28px !important; border-radius:6px !important; font-size:12px !important; }
.rv-editor.editor-deephire .editor-preview-zone {
  height:100% !important; padding:18px 36px 54px !important; overflow:auto !important; display:grid !important; justify-items:center !important; align-content:start !important; border:0 !important; border-right:1px solid var(--dh-line) !important; border-radius:0 !important; background:#f7f7f5 !important; box-shadow:none !important;
}
.rv-editor.editor-deephire .editor-preview-zone .a4 { width:min(590px, calc(100% - 18px)) !important; margin:0 auto 54px !important; transform-origin:top center !important; }
.rv-editor.editor-deephire .resume-page { border-radius:7px !important; box-shadow:0 10px 28px rgba(31,41,55,.06) !important; }
.rv-editor.editor-deephire .canvas-zoom-tools {
  position:fixed !important; right:clamp(322px, calc(24vw + 22px), 482px) !important; bottom:18px !important; z-index:35 !important; padding:3px !important; border:1px solid var(--dh-line) !important; border-radius:9px !important; background:rgba(255,255,255,.95) !important; box-shadow:0 4px 16px rgba(31,41,55,.08) !important;
}
.rv-editor.editor-deephire .canvas-zoom-tools .icon-btn,
.rv-editor.editor-deephire .zoom-chip { height:28px !important; min-height:28px !important; border:0 !important; background:transparent !important; font-size:12px !important; font-weight:650 !important; }
.rv-editor.editor-deephire .editor-ai-zone { min-width:0 !important; height:100% !important; padding:62px 22px 18px !important; display:grid !important; align-content:space-between !important; gap:18px !important; overflow:auto !important; background:#fff !important; scrollbar-width:none !important; }
.rv-editor.editor-deephire .editor-ai-zone::-webkit-scrollbar { display:none !important; }
.rv-editor.editor-deephire .ai-coach-card { border:0 !important; background:transparent !important; color:var(--dh-text) !important; }
.rv-editor.editor-deephire .ai-coach-intro img { width:62px !important; height:62px !important; display:block !important; margin:0 auto 18px !important; border-radius:18px !important; }
.rv-editor.editor-deephire .ai-coach-intro h2 { margin:0 0 8px !important; color:#29323b !important; font-size:13px !important; font-weight:700 !important; }
.rv-editor.editor-deephire .ai-coach-intro p,
.rv-editor.editor-deephire .ai-coach-intro li { margin:0 0 8px !important; color:#56616d !important; font-size:12px !important; line-height:1.7 !important; }
.rv-editor.editor-deephire .ai-coach-intro ul { margin:8px 0 10px !important; padding-left:16px !important; }
.rv-editor.editor-deephire .ai-coach-score { padding:14px !important; border:1px solid #f0f2f3 !important; border-radius:10px !important; background:#fbfcfb !important; }
.rv-editor.editor-deephire .ai-coach-score-head { display:flex !important; align-items:center !important; justify-content:space-between !important; margin-bottom:12px !important; }
.rv-editor.editor-deephire .ai-coach-score-head span { color:#35404a !important; font-size:13px !important; font-weight:700 !important; }
.rv-editor.editor-deephire .ai-coach-score-head b { color:var(--dh-green) !important; font-size:26px !important; line-height:1 !important; }
.rv-editor.editor-deephire .ai-coach-meter { display:grid !important; grid-template-columns:58px 1fr 28px !important; align-items:center !important; gap:8px !important; margin:8px 0 !important; color:#75808a !important; font-size:11px !important; }
.rv-editor.editor-deephire .ai-coach-meter i { height:5px !important; border-radius:99px !important; overflow:hidden !important; background:#eef1f2 !important; }
.rv-editor.editor-deephire .ai-coach-meter em { display:block !important; height:100% !important; border-radius:inherit !important; background:var(--dh-green) !important; }
.rv-editor.editor-deephire .ai-coach-score button,
.rv-editor.editor-deephire .ai-coach-action-row button { min-height:30px !important; border:1px solid #e8ecef !important; border-radius:8px !important; background:#fff !important; color:#51606d !important; font-size:12px !important; font-weight:650 !important; }
.rv-editor.editor-deephire .ai-coach-score button { width:100% !important; margin-top:12px !important; color:#1f2933 !important; }
.rv-editor.editor-deephire .ai-coach-actions { display:grid !important; gap:10px !important; }
.rv-editor.editor-deephire .ai-coach-action-row { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:6px !important; }
.rv-editor.editor-deephire .ai-coach-action-row button { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:4px !important; padding:0 6px !important; white-space:nowrap !important; }
.rv-editor.editor-deephire .ai-coach-action-row .ui-icon { width:13px !important; height:13px !important; stroke:var(--dh-green) !important; }
.rv-editor.editor-deephire .ai-coach-tags { display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
.rv-editor.editor-deephire .ai-coach-tags span { padding:4px 7px !important; border-radius:6px !important; background:var(--dh-green-soft) !important; color:#1f63d6 !important; font-size:11px !important; font-weight:600 !important; }
.rv-editor.editor-deephire .ai-coach-input { min-height:74px !important; display:grid !important; grid-template-columns:1fr 30px !important; align-items:end !important; gap:8px !important; padding:10px !important; border:1px solid #e7ebee !important; border-radius:10px !important; background:#fff !important; }
.rv-editor.editor-deephire .ai-coach-input textarea { min-height:48px !important; padding:0 !important; border:0 !important; resize:none !important; background:transparent !important; color:#5b6570 !important; font-size:12px !important; line-height:1.5 !important; }
.rv-editor.editor-deephire .ai-coach-input button { width:30px !important; height:30px !important; border:0 !important; border-radius:50% !important; background:#eef2f4 !important; color:#9aa3ad !important; }
.rv-editor.editor-deephire .ai-coach-input .ui-icon { width:14px !important; height:14px !important; }
.rv-editor.editor-deephire .ai-coach-actions small { color:#b2bac2 !important; font-size:11px !important; text-align:center !important; }
@media (max-width:1280px) {
  .rv-editor.editor-deephire .editor-deephire-body { grid-template-columns:minmax(300px,360px) minmax(560px,1fr) !important; overflow:auto !important; }
  .rv-editor.editor-deephire .editor-ai-zone { grid-column:1 / -1 !important; height:auto !important; padding:20px 24px 36px !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; align-content:start !important; }
}
@media (max-width:760px) {
  .rv-editor.editor-deephire .editor-deephire-body { height:auto !important; grid-template-columns:1fr !important; overflow:visible !important; }
  .rv-editor.editor-deephire .editor-input-zone,
  .rv-editor.editor-deephire .editor-preview-zone,
  .rv-editor.editor-deephire .editor-ai-zone { height:auto !important; min-height:0 !important; }
  .rv-editor.editor-deephire .canvas-zoom-tools { right:18px !important; bottom:18px !important; }
  .rv-editor.editor-deephire .editor-ai-zone { grid-template-columns:1fr !important; }
}

/* Public pages v85: use the same chrome as the homepage. */
.rv-marketing-shell .template-page,
.rv-marketing-shell .ai-page,
.rv-marketing-shell .mine-main {
  padding-top: 112px !important;
}

/* Editor avatar and basic fields v86 */
.rv-editor.editor-deephire .basic-info-grid {
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 14px 16px !important;
  align-items: start !important;
}

.rv-editor.editor-deephire .avatar-upload-field {
  grid-column: 1 !important;
  grid-row: span 3 !important;
  min-width: 0 !important;
  color: inherit !important;
  font-size: 0 !important;
}

.rv-editor.editor-deephire .upload-avatar-btn.avatar-upload-card {
  position: relative !important;
  width: 100% !important;
  min-height: 166px !important;
  height: 166px !important;
  margin: 0 !important;
  padding: 14px 12px 16px !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  place-items: center !important;
  align-content: center !important;
  gap: 12px !important;
  border: 1px solid #ebedf0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #6f747b !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .avatar-upload-card:hover {
  border-color: #dfe4e8 !important;
  background: #fff !important;
}

.rv-editor.editor-deephire .avatar-upload-placeholder,
.rv-editor.editor-deephire .avatar-upload-preview {
  width: 106px !important;
  height: 106px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #f5f5f5 !important;
  color: #d9dcde !important;
}

.rv-editor.editor-deephire .avatar-upload-placeholder .ui-icon {
  width: 38px !important;
  height: 38px !important;
  stroke-width: 1.8 !important;
}

.rv-editor.editor-deephire .avatar-upload-preview img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: var(--avatar-x, 50%) var(--avatar-y, 50%) !important;
  transform: scale(var(--avatar-scale, 1)) !important;
  transform-origin: var(--avatar-x, 50%) var(--avatar-y, 50%) !important;
}

.rv-editor.editor-deephire .avatar-upload-card b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: #6f747b !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .avatar-upload-card > .ui-icon {
  position: absolute !important;
  left: calc(50% + 32px) !important;
  bottom: 17px !important;
  width: 16px !important;
  height: 16px !important;
  color: #777d84 !important;
  stroke-width: 2 !important;
}

.rv-editor.editor-deephire .avatar-editor.wide {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid #edf0f2 !important;
  border-radius: 10px !important;
  background: #fff !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field {
  grid-column: 1 / -1 !important;
  min-height: 42px !important;
  display: grid !important;
  grid-template-columns: minmax(82px, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border: 1px solid #ebedf0 !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-name,
.rv-editor.editor-deephire .basic-info-grid .basic-field-job,
.rv-editor.editor-deephire .basic-info-grid .basic-field-email {
  grid-column: 2 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell {
  min-height: 40px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  background: transparent !important;
  color: #626973 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell > span {
  overflow: visible !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
}

.rv-editor.editor-deephire .basic-info-grid .locked-field {
  width: auto !important;
  height: auto !important;
  color: #e65d5d !important;
  font-size: 0 !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .basic-info-grid .locked-field::before {
  content: "*" !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input {
  min-height: 40px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #252b32 !important;
  font-size: 13px !important;
  font-weight: 520 !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input::placeholder,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input::placeholder {
  color: #c4c8cd !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field:focus-within {
  border-color: #cfd8e3 !important;
  box-shadow: 0 0 0 3px rgba(47, 125, 246, 0.06) !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-drag-handle,
.rv-editor.editor-deephire .basic-info-grid .basic-field-actions {
  display: none !important;
}

.rv-editor.editor-deephire .basic-info-grid .add-basic-field {
  grid-column: 1 / -1 !important;
}

@media (max-width: 760px) {
  .rv-editor.editor-deephire .basic-info-grid {
    grid-template-columns: 1fr !important;
  }

  .rv-editor.editor-deephire .avatar-upload-field,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-name,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-job,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-email {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .rv-editor.editor-deephire .upload-avatar-btn.avatar-upload-card {
    min-height: 180px !important;
    height: 180px !important;
  }
}

.avatar-crop-mask {
  background: rgba(21, 28, 38, 0.48) !important;
}

.avatar-crop-modal {
  width: min(520px, calc(100vw - 36px)) !important;
  padding: 22px 26px 24px !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #24272b !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22) !important;
}

.avatar-crop-modal .close {
  top: 18px !important;
  right: 18px !important;
  color: #8a9098 !important;
}

.avatar-crop-modal h3 {
  margin: 0 34px 18px 0 !important;
  color: #25282d !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
}

.avatar-crop-modal p {
  margin: 0 0 20px !important;
  color: #373b42 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.avatar-crop-stage {
  width: 330px !important;
  height: 330px !important;
  max-width: 100% !important;
  margin: 0 auto 22px !important;
  display: grid !important;
  place-items: center !important;
  background: #898989 !important;
  overflow: hidden !important;
}

.avatar-crop-modal .avatar-crop-modal-preview,
.rv-editor.editor-deephire .avatar-crop-modal .avatar-crop-modal-preview {
  position: relative !important;
  width: 260px !important;
  height: 260px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 999px rgba(0, 0, 0, 0.18) !important;
}

.avatar-crop-modal .avatar-crop-modal-preview::before,
.avatar-crop-modal .avatar-crop-modal-preview::after {
  content: "" !important;
  position: absolute !important;
  width: 12px !important;
  height: 12px !important;
  border-color: #fff !important;
  border-style: solid !important;
}

.avatar-crop-modal .avatar-crop-modal-preview::before {
  left: -2px !important;
  top: -2px !important;
  border-width: 4px 0 0 4px !important;
  box-shadow: 252px 0 0 -8px #fff, 0 252px 0 -8px #fff !important;
}

.avatar-crop-modal .avatar-crop-modal-preview::after {
  right: -2px !important;
  bottom: -2px !important;
  border-width: 0 4px 4px 0 !important;
}

.avatar-crop-modal-tools {
  display: grid !important;
  gap: 12px !important;
  margin: 0 auto 18px !important;
  max-width: 330px !important;
}

.avatar-crop-modal-tools .avatar-shape-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.avatar-crop-modal-tools .avatar-shape-row button {
  min-height: 34px !important;
  border: 1px solid #e8ebef !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #5f6670 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

.avatar-crop-modal-tools .avatar-shape-row button.active {
  border-color: #bcd3ff !important;
  background: #eef5ff !important;
  color: #2563eb !important;
}

.avatar-crop-modal-tools .avatar-slider {
  display: grid !important;
  grid-template-columns: 42px 1fr 36px !important;
  align-items: center !important;
  gap: 10px !important;
  color: #626973 !important;
  font-size: 13px !important;
}

.avatar-crop-footer {
  margin-top: 6px !important;
  padding-top: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}

.avatar-crop-footer button {
  min-width: 86px !important;
  height: 38px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 720 !important;
}

.avatar-crop-footer .ghost-btn {
  border: 1px solid #edf0f2 !important;
  background: #fff !important;
  color: #25282d !important;
}

.avatar-crop-footer .primary {
  border: 0 !important;
  background: #242424 !important;
  color: #fff !important;
}

.rv-marketing-shell .rv-footer {
  margin-top: 24px !important;
}

/* Competitor resume editor clone v88 */
.rv-editor.editor-deephire .editor-deephire-body {
  grid-template-columns: clamp(520px, 38vw, 760px) minmax(560px, 1fr) clamp(300px, 22vw, 420px) !important;
}

.rv-editor.editor-deephire .side-panel {
  padding: 22px 28px 44px !important;
  background:
    radial-gradient(circle at 28% 8%, rgba(247, 247, 247, 0.55), transparent 24%),
    #fff !important;
  scrollbar-width: none !important;
}

.rv-editor.editor-deephire .side-panel::-webkit-scrollbar {
  display: none !important;
}

.rv-editor.editor-deephire .side-heading {
  display: none !important;
}

.rv-editor.editor-deephire .avatar-editor,
.rv-editor.editor-deephire .add-basic-field {
  display: none !important;
}

.rv-editor.editor-deephire .editor-panel-card,
.rv-editor.editor-deephire .editor-module-card {
  padding: 0 0 30px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

.rv-editor.editor-deephire .editor-module-card {
  padding-top: 16px !important;
}

.rv-editor.editor-deephire .section-head {
  margin: 0 0 16px !important;
  min-height: 28px !important;
  align-items: center !important;
}

.rv-editor.editor-deephire .section-head h3 {
  color: #272b30 !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}

.rv-editor.editor-deephire .section-head.compact span,
.rv-editor.editor-deephire .module-head-actions {
  display: none !important;
}

.rv-editor.editor-deephire .section-head::after {
  content: "" !important;
  width: 14px !important;
  height: 14px !important;
  border-top: 2px solid #9a9a9a !important;
  border-left: 2px solid #9a9a9a !important;
  transform: rotate(45deg) translateY(4px) !important;
  margin-left: auto !important;
}

.rv-editor.editor-deephire .form-grid,
.rv-editor.editor-deephire .basic-info-grid,
.rv-editor.editor-deephire .competitor-module-form {
  gap: 16px !important;
}

.rv-editor.editor-deephire .basic-info-grid {
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 14px 20px !important;
}

.rv-editor.editor-deephire .avatar-upload-field {
  grid-row: span 3 !important;
}

.rv-editor.editor-deephire .upload-avatar-btn.avatar-upload-card {
  min-height: 186px !important;
  height: 186px !important;
  padding: 16px 16px 18px !important;
  border: 1px solid #eeeeee !important;
  border-radius: 10px !important;
}

.rv-editor.editor-deephire .avatar-upload-placeholder,
.rv-editor.editor-deephire .avatar-upload-preview {
  width: 112px !important;
  height: 112px !important;
  border-radius: 10px !important;
}

.rv-editor.editor-deephire .avatar-upload-placeholder .ui-icon {
  width: 40px !important;
  height: 40px !important;
  color: #e7e8e8 !important;
}

.rv-editor.editor-deephire .avatar-upload-card b {
  color: #666a70 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.rv-editor.editor-deephire .avatar-upload-card > .ui-icon {
  left: calc(50% + 42px) !important;
  bottom: 17px !important;
  width: 17px !important;
  height: 17px !important;
  color: #70757b !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field,
.rv-editor.editor-deephire .competitor-field {
  min-height: 48px !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 18px !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field {
  grid-column: 1 / -1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-name,
.rv-editor.editor-deephire .basic-info-grid .basic-field-gender,
.rv-editor.editor-deephire .basic-info-grid .basic-field-birth {
  grid-column: 2 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-email {
  grid-column: 1 / -1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell,
.rv-editor.editor-deephire .competitor-field > span {
  min-height: 46px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: transparent !important;
  color: #60646b !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .basic-info-grid .locked-field::before {
  color: #ef5555 !important;
  font-size: 14px !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input,
.rv-editor.editor-deephire .competitor-field input {
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #25292f !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input::placeholder,
.rv-editor.editor-deephire .competitor-field input::placeholder {
  color: #c9cbcf !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field:focus-within,
.rv-editor.editor-deephire .competitor-field:focus-within {
  border-color: #e1e5e8 !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .module-edit-list {
  display: grid !important;
  gap: 22px !important;
}

.rv-editor.editor-deephire .competitor-module-form {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.rv-editor.editor-deephire .competitor-delete-item {
  display: none !important;
}

.rv-editor.editor-deephire .date-field input {
  letter-spacing: 0 !important;
}

.rv-editor.editor-deephire .competitor-rich-box {
  position: relative !important;
  min-height: var(--rich-min, 240px) !important;
  display: grid !important;
  grid-template-rows: auto minmax(138px, 1fr) auto !important;
  border: 1px solid #eeeeee !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.rv-editor.editor-deephire .competitor-rich-toolbar {
  min-height: 46px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  padding: 0 18px !important;
  border-bottom: 1px solid #eeeeee !important;
  background: #fff !important;
}

.rv-editor.editor-deephire .rich-format-tools {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  padding-top: 10px !important;
}

.rv-editor.editor-deephire .rich-format-tools button {
  width: 20px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8d8f92 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 760 !important;
}

.rv-editor.editor-deephire .rich-format-tools > i {
  width: 1px !important;
  height: 18px !important;
  display: block !important;
  background: #e1e1e1 !important;
}

.rv-editor.editor-deephire .rich-ai-tools {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding-top: 8px !important;
}

.rv-editor.editor-deephire .rich-ai-tools button {
  min-height: 30px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #edf6e6 !important;
  color: #4b7f2f !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .competitor-rich-box textarea,
.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor {
  min-height: 150px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 18px 18px 40px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2c3035 !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
  font-weight: 500 !important;
  resize: none !important;
  scrollbar-width: none !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor {
  overflow-y: auto !important;
  outline: 0 !important;
  white-space: normal !important;
}

.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor p,
.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor div {
  margin: 0 0 8px !important;
}

.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor ul,
.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor ol {
  margin: 0 0 8px 22px !important;
  padding: 0 !important;
}

.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor:empty::before {
  content: attr(data-placeholder) !important;
  color: #cfd1d5 !important;
}

.rv-editor.editor-deephire .competitor-rich-box textarea::-webkit-scrollbar,
.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor::-webkit-scrollbar {
  display: none !important;
}

.rv-editor.editor-deephire .competitor-rich-box textarea::placeholder {
  color: #cfd1d5 !important;
}

.rv-editor.editor-deephire .competitor-rich-box > em {
  position: absolute !important;
  right: 16px !important;
  bottom: 14px !important;
  color: #a0a7b5 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .add-item {
  width: fit-content !important;
  min-height: 32px !important;
  margin-top: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #3f6f24 !important;
  font-size: 16px !important;
  font-weight: 620 !important;
}

.rv-editor.editor-deephire .editor-add-module-board {
  padding: 4px 0 30px !important;
}

.rv-editor.editor-deephire .editor-add-module-board h3 {
  margin: 0 0 16px !important;
  color: #282c31 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 760 !important;
}

.rv-editor.editor-deephire .editor-add-module-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.rv-editor.editor-deephire .editor-add-module-grid button {
  min-height: 76px !important;
  padding: 0 20px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px !important;
  align-items: center !important;
  gap: 16px !important;
  border: 1px solid #e3e3e3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #15181c !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .editor-add-module-grid button span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 650 !important;
}

.rv-editor.editor-deephire .editor-add-module-grid .ui-icon {
  width: 22px !important;
  height: 22px !important;
  color: #64686d !important;
  stroke-width: 2.2 !important;
}

@media (max-width: 760px) {
  .rv-editor.editor-deephire .side-panel {
    padding: 28px 20px 44px !important;
  }

  .rv-editor.editor-deephire .section-head h3 {
    font-size: 24px !important;
  }

  .rv-editor.editor-deephire .basic-info-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .rv-editor.editor-deephire .avatar-upload-field,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-name,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-gender,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-birth,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-email {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .rv-editor.editor-deephire .upload-avatar-btn.avatar-upload-card {
    min-height: 270px !important;
    height: 270px !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .basic-field,
  .rv-editor.editor-deephire .competitor-field {
    min-height: 74px !important;
    padding: 0 22px !important;
    gap: 18px !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .basic-title-cell,
  .rv-editor.editor-deephire .competitor-field > span,
  .rv-editor.editor-deephire .basic-info-grid .basic-value-input,
  .rv-editor.editor-deephire .competitor-field input {
    font-size: 21px !important;
  }

  .rv-editor.editor-deephire .competitor-rich-toolbar {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 0 22px 14px !important;
  }

  .rv-editor.editor-deephire .rich-ai-tools {
    justify-content: flex-end !important;
  }

  .rv-editor.editor-deephire .rich-ai-tools button {
    min-height: 42px !important;
    font-size: 18px !important;
  }

  .rv-editor.editor-deephire .competitor-rich-box textarea {
    font-size: 22px !important;
    line-height: 1.75 !important;
    padding: 24px 22px 54px !important;
  }

  .rv-editor.editor-deephire .editor-add-module-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .rv-editor.editor-deephire .editor-add-module-grid button {
    min-height: 96px !important;
    padding: 0 18px !important;
  }

  .rv-editor.editor-deephire .editor-add-module-grid button span {
    font-size: 20px !important;
  }
}

/* Templates v88: clean gallery cards, no heading copy, no stacked framing. */
.rv-marketing-shell .rv-templates.template-page {
  width: min(1540px, calc(100vw - 72px)) !important;
  padding-top: 110px !important;
  padding-bottom: 60px !important;
  background: transparent !important;
}

.rv-templates .template-filter-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .92fr) minmax(220px, .42fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-templates .template-filter-strip .filter-group {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-templates .template-filter-strip .filter-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: var(--rv-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.rv-templates .template-filter-strip .filter-title::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--rv-brand) !important;
  box-shadow: 0 0 0 5px rgba(47, 125, 246, .12) !important;
}

.rv-templates .template-filter-strip .filter-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.rv-templates .template-filter-strip .filter-options button {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: var(--rv-pill) !important;
  border: 1px solid rgba(47, 125, 246, .18) !important;
  color: var(--rv-ink-2) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 8px 20px rgba(44, 92, 150, .06) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.rv-templates .template-filter-strip .filter-options button.active {
  color: #fff !important;
  border-color: transparent !important;
  background: var(--rv-grad-brand) !important;
  box-shadow: 0 12px 28px rgba(47, 125, 246, .22) !important;
}

.rv-templates .template-layout,
.rv-templates .template-content {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-templates .ai-recommend {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 0 22px !important;
  padding: 0 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(47, 125, 246, .13) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-templates .ai-recommend h2 {
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.rv-templates .ai-recommend p {
  margin: 10px 0 0 !important;
  color: var(--rv-ink-3) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 600 !important;
}

.rv-templates .ai-recommend button {
  flex: 0 0 auto !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: var(--rv-pill) !important;
  border: 1px solid rgba(47, 125, 246, .18) !important;
  color: var(--rv-ink-2) !important;
  background: rgba(255, 255, 255, .78) !important;
  box-shadow: 0 10px 26px rgba(44, 92, 150, .08) !important;
  font-weight: 750 !important;
}

.rv-templates .template-catalog-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 34px 28px !important;
}

.rv-templates .catalog-card {
  position: relative !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: transform .28s var(--rv-ease), box-shadow .28s var(--rv-ease), border-color .28s var(--rv-ease) !important;
}

.rv-templates .catalog-card:hover {
  transform: translateY(-6px) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.rv-templates .catalog-card.active {
  border-color: transparent !important;
  box-shadow: none !important;
}

.rv-templates .catalog-card.active::after {
  content: none !important;
  display: none !important;
}

.rv-templates .catalog-preview {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 210 / 297 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(47, 125, 246, .16) !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  background: #f6faff !important;
  box-shadow: 0 18px 46px rgba(50, 96, 150, .13) !important;
  transition: border-color .25s var(--rv-ease), box-shadow .25s var(--rv-ease) !important;
}

.rv-templates .catalog-card:hover .catalog-preview {
  border-color: rgba(47, 125, 246, .32) !important;
  box-shadow: 0 26px 64px rgba(50, 96, 150, .18) !important;
}

.rv-templates .catalog-card.active .catalog-preview {
  border-color: rgba(47, 125, 246, .16) !important;
  box-shadow: 0 18px 46px rgba(50, 96, 150, .13) !important;
}

.rv-templates .catalog-preview .template-thumb-img,
.rv-templates .catalog-preview img {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  transform: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.rv-templates .catalog-card:hover .catalog-preview .template-thumb-img,
.rv-templates .catalog-card:hover .catalog-preview img {
  transform: scale(1.025) !important;
}

.rv-templates .catalog-meta {
  padding: 16px 0 0 !important;
  background: transparent !important;
  border-top: 0 !important;
}

.rv-templates .catalog-title-line {
  display: block !important;
}

.rv-templates .catalog-title-line h3 {
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.rv-templates .catalog-title-line strong {
  flex: 0 0 auto !important;
  padding: 6px 14px !important;
  border-radius: var(--rv-pill) !important;
  border: 1px solid rgba(47, 125, 246, .18) !important;
  color: var(--rv-brand-700) !important;
  background: rgba(47, 125, 246, .08) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

.rv-templates .catalog-hover-actions {
  align-items: flex-end !important;
  padding: 0 16px 18px !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(7, 25, 56, 0), rgba(7, 25, 56, .42)) !important;
  backdrop-filter: none !important;
}

.rv-templates .catalog-hover-actions button {
  min-width: 86px !important;
  height: 38px !important;
  border-radius: var(--rv-pill) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

@media (max-width: 760px) {
  .rv-marketing-shell .template-page,
  .rv-marketing-shell .ai-page,
  .rv-marketing-shell .mine-main {
    width: calc(100vw - 32px) !important;
    padding-top: 104px !important;
  }

  .rv-marketing-shell .rv-templates.template-page {
    width: calc(100vw - 32px) !important;
    padding-top: 104px !important;
  }

  .rv-templates .template-filter-strip,
  .rv-templates .template-catalog-grid {
    grid-template-columns: 1fr !important;
  }

  .rv-templates .template-filter-strip {
    gap: 20px !important;
    margin-bottom: 28px !important;
  }

  .rv-templates .ai-recommend {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .rv-templates .catalog-preview {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* Public pages v89: align AI analysis and Mine with the homepage/template gallery style. */
.rv-marketing-shell .rv-ai.ai-page,
.rv-marketing-shell .rv-mine.mine-main {
  width: min(1540px, calc(100vw - 72px)) !important;
  padding-top: 110px !important;
  padding-bottom: 60px !important;
  background: transparent !important;
}

.rv-ai .ai-overview,
.rv-mine .resume-grid {
  display: grid !important;
  gap: 34px !important;
}

.rv-ai .ai-sample-search-panel,
.rv-ai .ai-sample-results,
.rv-mine .mine-toolbar {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-ai .ai-sample-search-panel {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) auto !important;
  align-items: center !important;
  gap: 16px 22px !important;
}

.rv-ai .ai-sample-search-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.rv-ai .ai-sample-search-input {
  min-height: 46px !important;
  border-radius: var(--rv-pill) !important;
  border: 1px solid rgba(47, 125, 246, .18) !important;
  background: rgba(255, 255, 255, .78) !important;
  box-shadow: 0 8px 20px rgba(44, 92, 150, .06) !important;
  color: var(--rv-ink) !important;
  font-size: 14px !important;
}

.rv-ai .ai-sample-search-row .primary.green {
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: var(--rv-pill) !important;
  background: var(--rv-grad-brand) !important;
  box-shadow: 0 12px 28px rgba(47, 125, 246, .22) !important;
}

.rv-ai .ai-sample-examples {
  display: flex !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.rv-ai .ai-sample-examples button {
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: var(--rv-pill) !important;
  border: 1px solid rgba(47, 125, 246, .18) !important;
  color: var(--rv-ink-2) !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 8px 20px rgba(44, 92, 150, .06) !important;
  font-weight: 700 !important;
}

.rv-ai .ai-build-message {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  width: fit-content !important;
  border-radius: var(--rv-pill) !important;
}

.rv-ai .ai-sample-results-head {
  margin: 0 0 22px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(47, 125, 246, .13) !important;
}

.rv-ai .ai-sample-results-head h2 {
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-size: clamp(26px, 2.6vw, 38px) !important;
  line-height: 1.14 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.rv-ai .ai-sample-results-head h2 span {
  color: var(--rv-ink-3) !important;
  font-size: .52em !important;
  font-weight: 700 !important;
}

.rv-ai .ai-sample-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 30px !important;
}

.rv-ai .ai-sample-card,
.rv-mine .resume-card {
  position: relative !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: transform .28s var(--rv-ease) !important;
}

.rv-ai .ai-sample-card:hover,
.rv-mine .resume-card:hover,
.rv-mine .resume-card.menu-open {
  transform: translateY(-6px) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.rv-ai .ai-sample-thumb,
.rv-mine .resume-card .thumb {
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 210 / 297 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(47, 125, 246, .16) !important;
  border-radius: 8px !important;
  background: #f6faff !important;
  box-shadow: 0 18px 46px rgba(50, 96, 150, .13) !important;
  transition: border-color .25s var(--rv-ease), box-shadow .25s var(--rv-ease) !important;
}

.rv-ai .ai-sample-card:hover .ai-sample-thumb,
.rv-mine .resume-card:hover .thumb,
.rv-mine .resume-card.menu-open .thumb {
  border-color: rgba(47, 125, 246, .32) !important;
  box-shadow: 0 26px 64px rgba(50, 96, 150, .18) !important;
}

.rv-ai .ai-sample-live,
.rv-mine .resume-thumb-live {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: start center !important;
  overflow: hidden !important;
}

.rv-ai .ai-sample-live .mini-live-template,
.rv-mine .resume-thumb-live .mini-live-template {
  transform-origin: top center !important;
}

.rv-ai .ai-sample-card-body,
.rv-mine .card-meta {
  padding: 16px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rv-ai .ai-sample-rank,
.rv-ai .ai-sample-meta,
.rv-ai .ai-sample-tags,
.rv-ai .ai-sample-card p,
.rv-mine .resume-card .updated {
  display: none !important;
}

.rv-ai .ai-sample-card h3,
.rv-mine .card-title h3 {
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.rv-ai .ai-sample-actions {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: calc(100% - 52px) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 16px 18px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  background: linear-gradient(180deg, rgba(7, 25, 56, 0), rgba(7, 25, 56, .42)) !important;
  border-radius: 8px !important;
  transition: opacity .2s var(--rv-ease), transform .2s var(--rv-ease) !important;
}

.rv-ai .ai-sample-card:hover .ai-sample-actions,
.rv-ai .ai-sample-card:focus-within .ai-sample-actions {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.rv-ai .ai-sample-actions button {
  min-width: 94px !important;
  height: 38px !important;
  border-radius: var(--rv-pill) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.rv-mine .mine-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 34px !important;
}

.rv-mine .mine-toolbar .title-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.rv-mine .mine-toolbar .back {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(47, 125, 246, .16) !important;
  background: rgba(255, 255, 255, .72) !important;
}

.rv-mine .mine-toolbar h1 {
  margin: 0 !important;
  color: var(--rv-ink) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.rv-mine .mine-toolbar .count {
  margin-left: 10px !important;
  color: var(--rv-ink-3) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: .48em !important;
  font-weight: 700 !important;
}

.rv-mine .mine-toolbar .button-row {
  display: flex !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.rv-mine .mine-toolbar .button-row button {
  min-height: 42px !important;
  border-radius: var(--rv-pill) !important;
  padding: 0 18px !important;
}

.rv-mine .resume-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 34px 28px !important;
}

.rv-mine .card-title {
  min-width: 0 !important;
}

.rv-mine .card-overlay {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: calc(100% - 52px) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 16px 18px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, rgba(7, 25, 56, 0), rgba(7, 25, 56, .42)) !important;
  backdrop-filter: none !important;
  transition: opacity .2s var(--rv-ease), transform .2s var(--rv-ease) !important;
}

.rv-mine .resume-card:hover .card-overlay,
.rv-mine .resume-card:focus-within .card-overlay,
.rv-mine .resume-card.menu-open .card-overlay {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.rv-mine .empty-tip {
  margin-top: 46px !important;
  color: var(--rv-ink-3) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 980px) {
  .rv-ai .ai-sample-search-panel,
  .rv-ai .ai-sample-grid,
  .rv-mine .resume-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .rv-mine .mine-toolbar {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 760px) {
  .rv-marketing-shell .rv-ai.ai-page,
  .rv-marketing-shell .rv-mine.mine-main {
    width: calc(100vw - 32px) !important;
    padding-top: 104px !important;
  }

  .rv-ai .ai-sample-search-panel,
  .rv-ai .ai-sample-search-row,
  .rv-ai .ai-sample-grid,
  .rv-mine .resume-grid {
    grid-template-columns: 1fr !important;
  }

  .rv-ai .ai-sample-examples {
    justify-content: flex-start !important;
  }

  .rv-ai .ai-sample-actions {
    position: static !important;
    height: auto !important;
    margin-top: 12px !important;
    padding: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    background: transparent !important;
  }

  .rv-mine .mine-toolbar .button-row,
  .rv-mine .mine-toolbar .button-row button {
    width: 100% !important;
  }

  .rv-mine .card-overlay {
    position: static !important;
    height: auto !important;
    margin-top: 12px !important;
    padding: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    justify-content: flex-start !important;
    background: transparent !important;
  }
}

/* Mine v90: match the template gallery cards more closely. */
.rv-mine .mine-toolbar {
  margin-bottom: 30px !important;
}

.rv-mine .mine-toolbar h1 {
  font-size: clamp(24px, 2.1vw, 32px) !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
}

.rv-mine .mine-toolbar .count {
  margin-left: 12px !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.rv-mine .resume-grid {
  gap: 34px 28px !important;
}

.rv-mine .resume-card {
  padding: 0 !important;
}

.rv-mine .resume-card .thumb {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 210 / 297 !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #f6faff !important;
}

.rv-mine .resume-thumb-live {
  background: #fff !important;
}

.rv-mine .resume-thumb-live .mini-live-template {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  transform: none !important;
}

.rv-mine .resume-thumb-live .resume-page {
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 210 / 297 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.rv-mine .card-meta {
  padding-top: 16px !important;
}

.rv-mine .card-title h3 {
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  .rv-mine .mine-toolbar h1 {
    font-size: 24px !important;
  }

  .rv-mine .mine-toolbar .count {
    font-size: 13px !important;
  }
}

/* Editor input scale v89: keep the left form compact and hide secondary avatar controls. */
.rv-editor.editor-deephire .avatar-editor.wide,
.rv-editor.editor-deephire .avatar-editor {
  display: none !important;
}

/* Editor input scale v91: cache-busted final compact override for the left editor form. */
.rv-editor.editor-deephire .basic-info-grid {
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 14px 20px !important;
}

.rv-editor.editor-deephire .upload-avatar-btn.avatar-upload-card {
  width: 150px !important;
  min-height: 186px !important;
  height: 186px !important;
  padding: 16px !important;
}

.rv-editor.editor-deephire .avatar-upload-placeholder,
.rv-editor.editor-deephire .avatar-upload-preview {
  width: 112px !important;
  height: 112px !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field,
.rv-editor.editor-deephire .competitor-field {
  min-height: 48px !important;
  padding: 0 18px !important;
  gap: 14px !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell,
.rv-editor.editor-deephire .competitor-field > span,
.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input,
.rv-editor.editor-deephire .competitor-field input {
  min-height: 46px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

.rv-editor.editor-deephire .avatar-upload-card b {
  font-size: 15px !important;
}

.rv-editor.editor-deephire .competitor-rich-box textarea {
  font-size: 15px !important;
  resize: none !important;
}

/* Editor left compact v92: reduce the left column width and use regular field text. */
.rv-editor.editor-deephire .editor-deephire-body {
  grid-template-columns: clamp(420px, 28vw, 580px) minmax(560px, 1fr) clamp(300px, 22vw, 420px) !important;
}

.rv-editor.editor-deephire .side-panel {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.rv-editor.editor-deephire .basic-info-grid {
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 12px 16px !important;
}

.rv-editor.editor-deephire .upload-avatar-btn.avatar-upload-card {
  width: 132px !important;
  min-height: 168px !important;
  height: 168px !important;
  padding: 14px !important;
}

.rv-editor.editor-deephire .avatar-upload-placeholder,
.rv-editor.editor-deephire .avatar-upload-preview {
  width: 100px !important;
  height: 100px !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field,
.rv-editor.editor-deephire .competitor-field {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell,
.rv-editor.editor-deephire .competitor-field > span,
.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input,
.rv-editor.editor-deephire .competitor-field input {
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .basic-info-grid .locked-field::before {
  font-weight: 400 !important;
}

/* QA 修复:共享顶栏/二级页 --sl 绿 → 蓝 */
.product-shell { --sl-mint:#5aa2ff !important; --sl-teal:#2f7df6 !important; --sl-cyan:#1f63d6 !important; }

/* QA 修复:卡片预览加载占位(浅灰),避免首屏空白像坏 */
.catalog-preview, .template-thumb, .ai-sample-thumb, .resume-thumb-live { background:#eef1f5 !important; }

/* Editor thin typography v94: match competitor's lighter text rhythm. */
.rv-editor.editor-deephire {
  font-family: "PingFang SC", "Helvetica Neue", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif !important;
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

.rv-editor.editor-deephire :where(
  button,
  input,
  textarea,
  select,
  label,
  span,
  p,
  li,
  small,
  em,
  b,
  strong
) {
  font-family: inherit !important;
}

.rv-editor.editor-deephire :where(
  .editor-deephire-title .doc-title-btn,
  .editor-deephire-title > em,
  .editor-deephire-title .saved b,
  .editor-deephire-title .saved em,
  .editor-deephire-topbar .icon-btn,
  .editor-deephire-topbar .file-btn,
  .editor-deephire-topbar .top-mini,
  .editor-deephire-tabs .rail-btn b,
  .side-heading h2,
  .section-head h3,
  .module-section-head h3,
  .basic-info-grid .basic-title-cell,
  .competitor-field > span,
  .avatar-upload-card b,
  .module-head-actions button,
  .competitor-delete-item,
  .rich-ai-tools button,
  .add-basic-field,
  .add-item,
  .add-module-btn,
  .editor-add-module-grid button span,
  .ai-coach-intro h2,
  .ai-coach-score-head span,
  .ai-coach-score button,
  .ai-coach-action-row button,
  .ai-coach-tags span,
  .zoom-chip
) {
  font-weight: 400 !important;
}

.rv-editor.editor-deephire :where(
  .editor-deephire-brand b,
  .editor-deephire-topbar .small-primary,
  .side-heading h2,
  .section-head h3,
  .module-section-head h3
) {
  font-weight: 500 !important;
}

.rv-editor.editor-deephire :where(
  .basic-info-grid .basic-value-input,
  .basic-info-grid .basic-label-input,
  .competitor-field input,
  .competitor-rich-box textarea,
  .ai-coach-input textarea,
  .form-grid input,
  .form-grid textarea,
  .module-real-form input,
  .module-real-form textarea,
  .module-real-form select
) {
  font-weight: 400 !important;
  color: #303741 !important;
}

.rv-editor.editor-deephire :where(
  .basic-info-grid .basic-value-input::placeholder,
  .basic-info-grid .basic-label-input::placeholder,
  .competitor-field input::placeholder,
  .competitor-rich-box textarea::placeholder,
  .ai-coach-input textarea::placeholder
) {
  font-weight: 400 !important;
  color: #c8cdd2 !important;
}

.rv-editor.editor-deephire .rich-format-tools button {
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .resume-page {
  font-family: "PingFang SC", "Helvetica Neue", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif !important;
  font-weight: 400 !important;
  color: #2f343b !important;
}

.rv-editor.editor-deephire .resume-page :where(p, span, time, small, li) {
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .resume-page :where(strong, b) {
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .resume-page :where(
  h1,
  h2,
  h3,
  .big-name,
  .image2-name,
  .image2-editorial-name,
  .modular-peach-name,
  .modular-section-title b,
  .image2-section-title b,
  .modular-side-section h3,
  .image2-editorial-side-block h3
) {
  font-weight: 600 !important;
}

.rv-editor.editor-deephire .resume-page :where(
  .image2-role,
  .image2-editorial-role,
  .modular-peach-role,
  .image2-section-title em,
  .modular-section-title em
) {
  font-weight: 400 !important;
}

/* Editor thin typography v94.1: raise specificity above legacy bold overrides. */
.rv-editor.editor-deephire .editor-deephire-title .doc-title-btn,
.rv-editor.editor-deephire .editor-deephire-title > em,
.rv-editor.editor-deephire .editor-deephire-title .saved b,
.rv-editor.editor-deephire .editor-deephire-title .saved em,
.rv-editor.editor-deephire .editor-deephire-topbar .icon-btn,
.rv-editor.editor-deephire .editor-deephire-topbar .file-btn,
.rv-editor.editor-deephire .editor-deephire-topbar .top-mini,
.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn b,
.rv-editor.editor-deephire .basic-info-grid .basic-title-cell,
.rv-editor.editor-deephire .competitor-field > span,
.rv-editor.editor-deephire .avatar-upload-card b,
.rv-editor.editor-deephire .module-head-actions button,
.rv-editor.editor-deephire .competitor-delete-item,
.rv-editor.editor-deephire .rich-ai-tools button,
.rv-editor.editor-deephire .add-basic-field,
.rv-editor.editor-deephire .add-item,
.rv-editor.editor-deephire .add-module-btn,
.rv-editor.editor-deephire .editor-add-module-grid button span,
.rv-editor.editor-deephire .ai-coach-intro h2,
.rv-editor.editor-deephire .ai-coach-score-head span,
.rv-editor.editor-deephire .ai-coach-score button,
.rv-editor.editor-deephire .ai-coach-action-row button,
.rv-editor.editor-deephire .ai-coach-tags span,
.rv-editor.editor-deephire .zoom-chip {
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .side-heading h2,
.rv-editor.editor-deephire .section-head h3,
.rv-editor.editor-deephire .module-section-head h3,
.rv-editor.editor-deephire .editor-deephire-brand b,
.rv-editor.editor-deephire .editor-deephire-topbar .small-primary {
  font-weight: 500 !important;
}

/* Editor functional controls v95: real selects, inline AI result, compact rich tools. */
.rv-editor.editor-deephire .basic-value-input:is(select),
.rv-editor.editor-deephire .competitor-field select {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 48px !important;
  border: 0 !important;
  background:
    linear-gradient(45deg, transparent 50%, #aab0b7 50%) calc(100% - 19px) 50% / 7px 7px no-repeat,
    linear-gradient(135deg, #aab0b7 50%, transparent 50%) calc(100% - 13px) 50% / 7px 7px no-repeat,
    transparent !important;
  color: #303741 !important;
  font: inherit !important;
  font-weight: 400 !important;
  outline: 0 !important;
}

.rv-editor.editor-deephire .basic-value-input:is(select):focus,
.rv-editor.editor-deephire .competitor-field select:focus {
  color: #1f2933 !important;
}

.rv-editor.editor-deephire .rich-format-tools button {
  color: #8b9096 !important;
  cursor: pointer !important;
  transition: color .16s ease, transform .16s ease !important;
}

.rv-editor.editor-deephire .rich-format-tools button:hover {
  color: #426d22 !important;
  transform: translateY(-1px) !important;
}

.rv-editor.editor-deephire .rich-ai-tools button:disabled,
.rv-editor.editor-deephire .inline-ai-result button:disabled {
  cursor: default !important;
  opacity: .52 !important;
}

.rv-editor.editor-deephire .inline-ai-result {
  position: relative !important;
  margin: 0 !important;
  padding: 24px 28px 22px !important;
  border-top: 1px solid rgba(226, 232, 240, .85) !important;
  background: rgba(250, 252, 247, .84) !important;
  color: #32383f !important;
}

.rv-editor.editor-deephire .inline-ai-result h4 {
  margin: 0 0 16px !important;
  color: #436d2a !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .inline-ai-result p {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .inline-ai-result footer {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.rv-editor.editor-deephire .inline-ai-result footer button {
  min-width: 58px !important;
  height: 34px !important;
  padding: 0 16px !important;
  border: 1px solid #e1e5ea !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #4c565f !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .inline-ai-result footer button.primary {
  border-color: #416f27 !important;
  background: #416f27 !important;
  color: #fff !important;
}

.rv-editor.editor-deephire .inline-ai-close {
  position: absolute !important;
  top: 18px !important;
  right: 22px !important;
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #9aa1a9 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.rv-editor.editor-deephire .inline-ai-result.is-loading p,
.rv-editor.editor-deephire .inline-ai-result.is-error p {
  color: #7b838c !important;
}

.rv-editor.editor-deephire .inline-ai-result.is-error h4 {
  color: #a15b25 !important;
}

/* Editor dropdown cascade v96: competitor-like custom menus and province/city picker. */
.rv-editor.editor-deephire .basic-info-grid .basic-field:has(.editor-custom-select),
.rv-editor.editor-deephire .competitor-field:has(.editor-custom-select) {
  position: relative !important;
  overflow: visible !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field:has(.editor-custom-select.is-open),
.rv-editor.editor-deephire .competitor-field:has(.editor-custom-select.is-open) {
  z-index: 30 !important;
}

.rv-editor.editor-deephire .editor-custom-select {
  position: relative !important;
  min-width: 0 !important;
  width: 100% !important;
}

.rv-editor.editor-deephire .editor-select-trigger {
  width: 100% !important;
  min-height: 46px !important;
  padding: 0 28px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #25292f !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-align: left !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .editor-select-trigger.is-placeholder {
  color: #c8cbd0 !important;
}

.rv-editor.editor-deephire .editor-select-trigger i {
  position: absolute !important;
  right: 2px !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-right: 2px solid #aeb4ba !important;
  border-bottom: 2px solid #aeb4ba !important;
  transform: translateY(-60%) rotate(45deg) !important;
  transition: transform .16s ease !important;
}

.rv-editor.editor-deephire .editor-custom-select.is-open .editor-select-trigger i {
  transform: translateY(-30%) rotate(225deg) !important;
}

.rv-editor.editor-deephire .editor-select-menu,
.rv-editor.editor-deephire .editor-city-menu {
  position: absolute !important;
  left: -14px !important;
  right: -14px !important;
  top: calc(100% + 8px) !important;
  z-index: 80 !important;
  border: 1px solid rgba(226, 229, 232, .9) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 18px 42px rgba(31, 41, 51, .12) !important;
  overflow: hidden !important;
}

.rv-editor.editor-deephire .editor-select-menu {
  max-height: 300px !important;
  padding: 8px 0 !important;
  overflow-y: auto !important;
}

.rv-editor.editor-deephire .editor-select-menu::-webkit-scrollbar,
.rv-editor.editor-deephire .editor-city-provinces::-webkit-scrollbar,
.rv-editor.editor-deephire .editor-city-list::-webkit-scrollbar {
  width: 6px !important;
}

.rv-editor.editor-deephire .editor-select-menu::-webkit-scrollbar-thumb,
.rv-editor.editor-deephire .editor-city-provinces::-webkit-scrollbar-thumb,
.rv-editor.editor-deephire .editor-city-list::-webkit-scrollbar-thumb {
  background: #c8ced6 !important;
  border-radius: 99px !important;
}

.rv-editor.editor-deephire .editor-select-option {
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #24282d !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .editor-select-option:hover,
.rv-editor.editor-deephire .editor-select-option.is-active {
  background: #f3f4f4 !important;
}

.rv-editor.editor-deephire .editor-select-option.is-active {
  color: #496b3d !important;
}

.rv-editor.editor-deephire .editor-option-check {
  color: #6e8069 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .editor-city-menu {
  width: auto !important;
  right: -14px !important;
  display: grid !important;
  grid-template-columns: 140px minmax(0, 1fr) !important;
  max-height: 330px !important;
}

.rv-editor.editor-deephire .editor-city-provinces,
.rv-editor.editor-deephire .editor-city-list {
  max-height: 330px !important;
  overflow-y: auto !important;
  padding: 8px !important;
}

.rv-editor.editor-deephire .editor-city-provinces {
  border-right: 1px solid #eceff2 !important;
}

.rv-editor.editor-deephire .editor-city-provinces button,
.rv-editor.editor-deephire .editor-city-list button {
  width: 100% !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #24282d !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 16px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .editor-city-provinces button {
  padding-left: 14px !important;
  padding-right: 10px !important;
}

.rv-editor.editor-deephire .editor-city-list button {
  padding-left: 14px !important;
  padding-right: 12px !important;
}

.rv-editor.editor-deephire .editor-city-provinces button:hover,
.rv-editor.editor-deephire .editor-city-provinces button.is-active,
.rv-editor.editor-deephire .editor-city-list button:hover,
.rv-editor.editor-deephire .editor-city-list button.is-active {
  background: #f3f4f4 !important;
}

.rv-editor.editor-deephire .editor-city-provinces button.is-active,
.rv-editor.editor-deephire .editor-city-list button.is-active {
  color: #496b3d !important;
}

.rv-editor.editor-deephire .editor-city-list button > span:first-child {
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #e7e9eb !important;
  border-radius: 999px !important;
  margin-right: 14px !important;
  flex: 0 0 auto !important;
}

.rv-editor.editor-deephire .editor-city-list button.is-active > span:first-child {
  border-color: #6e8069 !important;
  box-shadow: inset 0 0 0 4px #fff !important;
  background: #6e8069 !important;
}

/* Preview inline edit v97: edit and AI-polish directly on the resume canvas. */
.rv-editor.editor-deephire [data-preview-edit="true"] {
  outline: none !important;
  cursor: text !important;
  border-radius: 4px !important;
  transition: background .16s ease, box-shadow .16s ease !important;
}

.rv-editor.editor-deephire [data-preview-edit="true"]:hover,
.rv-editor.editor-deephire [data-preview-edit="true"]:focus {
  background: rgba(246, 250, 241, .9) !important;
  box-shadow: 0 0 0 1px rgba(132, 176, 91, .32) !important;
}

.rv-editor.editor-deephire .preview-editable-block {
  position: relative !important;
  margin: 4px -8px 0 !important;
  padding: 8px !important;
  border: 1px dashed transparent !important;
  border-radius: 7px !important;
}

.rv-editor.editor-deephire .preview-editable-block:hover,
.rv-editor.editor-deephire .preview-editable-block:focus-within,
.rv-editor.editor-deephire .preview-editable-block.is-active {
  border-color: rgba(130, 181, 91, .46) !important;
  background: rgba(255, 255, 255, .52) !important;
}

.rv-editor.editor-deephire .preview-editable-body {
  min-height: 24px !important;
}

.rv-editor.editor-deephire .preview-editable-body p {
  margin: 0 0 6px !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar {
  position: absolute !important;
  left: 50% !important;
  top: -34px !important;
  z-index: 40 !important;
  transform: translateX(-50%) translateY(4px) !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(232, 236, 229, .95) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 12px 30px rgba(31, 41, 51, .12) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .14s ease, transform .14s ease !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .preview-editable-block:hover .preview-inline-toolbar,
.rv-editor.editor-deephire .preview-editable-block:focus-within .preview-inline-toolbar,
.rv-editor.editor-deephire .preview-editable-block.is-active .preview-inline-toolbar {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar button {
  min-width: 24px !important;
  height: 28px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: #92979d !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar button:hover {
  background: #f3f6ef !important;
  color: #4f7b2b !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar button.ai {
  min-width: auto !important;
  padding: 0 8px !important;
  color: #4f7b2b !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar > span {
  width: 1px !important;
  height: 18px !important;
  background: #e4e8ec !important;
}

.rv-editor.editor-deephire .preview-ai-result {
  margin-top: 10px !important;
  padding: 14px 18px 14px !important;
  border-top: 1px solid rgba(226, 232, 240, .82) !important;
  border-radius: 0 0 7px 7px !important;
  background: rgba(250, 252, 247, .9) !important;
  position: relative !important;
}

.rv-editor.editor-deephire .preview-ai-result h4 {
  margin: 0 0 10px !important;
  color: #436d2a !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .preview-ai-result p {
  margin: 0 0 7px !important;
  color: #343a40 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.rv-editor.editor-deephire .preview-ai-result footer {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

.rv-editor.editor-deephire .preview-ai-result footer button {
  height: 28px !important;
  padding: 0 12px !important;
  border: 1px solid #e1e5ea !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #4c565f !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .preview-ai-result footer button.primary {
  border-color: #416f27 !important;
  background: #416f27 !important;
  color: #fff !important;
}

.rv-editor.editor-deephire .preview-ai-close {
  position: absolute !important;
  top: 10px !important;
  right: 12px !important;
  width: 22px !important;
  height: 22px !important;
  border: 0 !important;
  background: transparent !important;
  color: #9aa1a9 !important;
  font-size: 20px !important;
}

/* Editor integrated layout v98: three primary tabs, module management lives in layout. */
.rv-editor.editor-deephire .editor-deephire-tabs {
  height: 48px !important;
  gap: 18px !important;
  padding: 0 20px !important;
  border-bottom: 1px solid #f0f2f4 !important;
}

.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn {
  position: relative !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 2px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8f98a3 !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: transparent !important;
}

.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn span {
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn .ui-icon {
  width: 15px !important;
  height: 15px !important;
  stroke-width: 2 !important;
}

.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn b {
  font-size: 13px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn:hover,
.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn.active {
  color: #202832 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .editor-deephire-tabs .rail-btn.active::after {
  background: #5baa46 !important;
}

.rv-editor.editor-deephire .side-heading p {
  margin: 6px 0 0 !important;
  color: #9aa3ad !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .layout-settings-card,
.rv-editor.editor-deephire .layout-module-card {
  padding: 0 0 22px !important;
  margin: 0 0 22px !important;
  border: 0 !important;
  border-bottom: 1px solid #f1f2f3 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .layout-panel-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
}

.rv-editor.editor-deephire .layout-panel-title b {
  color: #303942 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .layout-panel-title span {
  color: #a3abb4 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .settings {
  display: grid !important;
  gap: 14px !important;
}

.rv-editor.editor-deephire .settings .primary {
  height: 34px !important;
  border-radius: 8px !important;
}

.rv-editor.editor-deephire .module-helper {
  margin: 0 0 12px !important;
  color: #9aa3ad !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.rv-editor.editor-deephire .module-list {
  display: grid !important;
  gap: 8px !important;
}

.rv-editor.editor-deephire .module-row {
  min-height: 42px !important;
  padding: 8px 8px 8px 6px !important;
  border: 1px solid #edf0f2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .module-row span {
  color: #303942 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .module-row span small {
  margin-left: 6px !important;
  color: #a3abb4 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .module-row-actions button {
  height: 26px !important;
  padding: 0 7px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .add-module-btn {
  width: 100% !important;
  height: 36px !important;
  margin-top: 12px !important;
  border: 1px dashed #dbe3dc !important;
  border-radius: 8px !important;
  background: #fbfdfb !important;
  color: #4f7b2b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Avatar crop frame v99: click avatar to crop, resize by dragging the square frame. */
.rv-editor.editor-deephire .avatar-upload-card {
  cursor: pointer !important;
}

.avatar-crop-mask {
  z-index: 9999 !important;
  opacity: 1 !important;
  animation: none !important;
  background: rgba(21, 28, 38, 0.48) !important;
}

.modal.avatar-crop-modal,
.rv-editor.editor-deephire .modal.avatar-crop-modal {
  position: relative !important;
  z-index: 10000 !important;
  width: min(680px, calc(100vw - 36px)) !important;
  padding: 24px 34px 26px !important;
  opacity: 1 !important;
  background: #fff !important;
  background-image: none !important;
  background-color: #fff !important;
  animation: none !important;
  transform: none !important;
}

.avatar-crop-modal .avatar-frame-stage {
  position: relative !important;
  width: min(520px, 72vw) !important;
  height: min(520px, 72vw) !important;
  margin: 0 auto !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #767674 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12) !important;
  touch-action: none !important;
}

.avatar-crop-modal .avatar-crop-frame {
  position: absolute !important;
  left: var(--crop-left, 50%) !important;
  top: var(--crop-top, 50%) !important;
  width: var(--crop-size, 260px) !important;
  height: var(--crop-size, 260px) !important;
  transform: translate(-50%, -50%) !important;
  border: 3px solid rgba(255,255,255,.95) !important;
  background: rgba(255,255,255,.2) !important;
  cursor: move !important;
  box-sizing: border-box !important;
  touch-action: none !important;
  box-shadow: 0 0 0 999px rgba(0,0,0,.34), 0 12px 36px rgba(0,0,0,.22) !important;
}

.avatar-crop-modal .avatar-crop-frame.is-circle {
  border-radius: 999px !important;
}

.avatar-crop-modal .avatar-crop-frame.is-dragging,
.avatar-crop-modal .avatar-crop-frame.is-resizing {
  border-color: #fff !important;
  box-shadow: 0 0 0 999px rgba(0,0,0,.4), 0 14px 42px rgba(0,0,0,.26), 0 0 0 2px rgba(47,125,246,.26) !important;
}

.avatar-crop-modal .avatar-crop-modal-preview,
.rv-editor.editor-deephire .avatar-crop-modal .avatar-crop-modal-preview {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
  background: #fff !important;
  cursor: inherit !important;
}

.avatar-crop-modal .avatar-crop-modal-preview::before,
.avatar-crop-modal .avatar-crop-modal-preview::after {
  display: none !important;
}

.avatar-crop-modal .avatar-crop-modal-preview img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: var(--avatar-x, 50%) var(--avatar-y, 50%) !important;
  transform: scale(var(--avatar-scale, 1)) !important;
  transform-origin: var(--avatar-x, 50%) var(--avatar-y, 50%) !important;
}

.avatar-crop-modal .avatar-crop-handle {
  position: absolute !important;
  z-index: 2 !important;
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  border: 3px solid #fff !important;
  border-radius: 3px !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
}

.avatar-crop-modal .handle-nw { left: -10px !important; top: -10px !important; cursor: nwse-resize !important; }
.avatar-crop-modal .handle-ne { right: -10px !important; top: -10px !important; cursor: nesw-resize !important; }
.avatar-crop-modal .handle-sw { left: -10px !important; bottom: -10px !important; cursor: nesw-resize !important; }
.avatar-crop-modal .handle-se { right: -10px !important; bottom: -10px !important; cursor: nwse-resize !important; }

.avatar-crop-modal .avatar-crop-modal-tools {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 12px !important;
  width: min(520px, 72vw) !important;
  margin: 18px auto 0 !important;
}

.avatar-crop-modal .avatar-reupload-btn {
  height: 40px !important;
  border: 1px solid #e1e5ea !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #5f6974 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.avatar-crop-modal .avatar-reupload-btn:hover {
  border-color: #bcd6ff !important;
  color: #1f63d6 !important;
  background: #f7fbff !important;
}

/* Editor month picker v100: competitor-style month panel and single-line date ranges. */
.rv-editor.editor-deephire .editor-month-picker {
  position: relative !important;
  min-width: 0 !important;
}

.rv-editor.editor-deephire .editor-month-trigger {
  width: 100% !important;
  height: 100% !important;
  min-height: 38px !important;
  padding: 0 34px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2f343a !important;
  font: inherit !important;
  font-weight: 400 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .editor-month-trigger span {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .editor-month-trigger.is-placeholder {
  color: #c8cdd2 !important;
}

.rv-editor.editor-deephire .editor-month-clear {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #a8afb7 !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 20px !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .editor-month-caret {
  position: absolute !important;
  right: 2px !important;
  top: 50% !important;
  width: 11px !important;
  height: 11px !important;
  border-right: 2px solid #b7bdc4 !important;
  border-bottom: 2px solid #b7bdc4 !important;
  transform: translateY(-62%) rotate(45deg) !important;
  pointer-events: none !important;
}

.rv-editor.editor-deephire .editor-month-menu {
  position: absolute !important;
  z-index: 70 !important;
  left: -8px !important;
  top: calc(100% + 8px) !important;
  width: min(430px, calc(100vw - 40px)) !important;
  overflow: hidden !important;
  border: 1px solid #edf0f2 !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 16px 38px rgba(28, 35, 45, .12) !important;
  backdrop-filter: blur(10px) !important;
}

.rv-editor.editor-deephire .editor-month-head {
  display: grid !important;
  grid-template-columns: 56px 1fr 56px !important;
  align-items: center !important;
  height: 50px !important;
  border-bottom: 1px solid #f0f1f2 !important;
}

.rv-editor.editor-deephire .editor-month-head b {
  color: #2b3036 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.rv-editor.editor-deephire .editor-month-head button {
  height: 50px !important;
  border: 0 !important;
  background: transparent !important;
  color: #98a1aa !important;
  font-size: 25px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .editor-month-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px 22px !important;
  padding: 18px 32px 24px !important;
}

.rv-editor.editor-deephire .editor-month-grid button {
  height: 52px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #2b3036 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
}

.rv-editor.editor-deephire .editor-month-grid button:hover {
  background: #f4f6f5 !important;
}

.rv-editor.editor-deephire .editor-month-grid button.is-active {
  background: #050505 !important;
  color: #fff !important;
}

.rv-editor.editor-deephire .date-field {
  grid-template-columns: max-content minmax(0, 1fr) !important;
}

.rv-editor.editor-deephire .date-range-input {
  width: 100% !important;
  height: 100% !important;
  min-height: 38px !important;
  border: 0 !important;
  background: transparent !important;
  color: #2f343a !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.rv-editor.editor-deephire .date-range-input::placeholder {
  color: #c9ced4 !important;
}

/* Inline AI rewrite v101: visible progress, equal actions, prompt-driven rewrite. */
.rv-editor.editor-deephire .competitor-rich-box {
  grid-template-rows: auto minmax(138px, 1fr) auto !important;
}

.rv-editor.editor-deephire .competitor-rich-box textarea,
.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor {
  padding: 18px 18px 26px !important;
}

.rv-editor.editor-deephire .competitor-rich-box > em.rich-count {
  top: 58px !important;
  right: 18px !important;
  bottom: auto !important;
  z-index: 2 !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.9) !important;
  color: #9aa3b2 !important;
  font-size: 13px !important;
  pointer-events: none !important;
}

.rv-editor.editor-deephire .inline-ai-result,
.rv-editor.editor-deephire .preview-ai-result {
  padding-bottom: 22px !important;
}

.rv-editor.editor-deephire .inline-ai-body {
  padding-right: 8px !important;
}

.rv-editor.editor-deephire .inline-ai-progress {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 6px 42px 14px 0 !important;
}

.rv-editor.editor-deephire .inline-ai-progress span {
  position: relative !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  background: #eef6e9 !important;
  color: #5a7e41 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .inline-ai-progress span i {
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #73a84f !important;
  animation: inlineAiPulse 1.1s ease-in-out infinite !important;
}

.rv-editor.editor-deephire .inline-ai-progress span:nth-child(2) i { animation-delay: .18s !important; }
.rv-editor.editor-deephire .inline-ai-progress span:nth-child(3) i { animation-delay: .36s !important; }

.rv-editor.editor-deephire .inline-ai-waiting {
  min-height: 40px !important;
  margin: 0 !important;
  color: #7b838c !important;
}

.rv-editor.editor-deephire .inline-ai-result footer,
.rv-editor.editor-deephire .preview-ai-result footer {
  align-items: center !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.rv-editor.editor-deephire .inline-ai-result footer button,
.rv-editor.editor-deephire .preview-ai-result footer button {
  width: 76px !important;
  min-width: 76px !important;
  height: 34px !important;
  padding: 0 !important;
  text-align: center !important;
}

.rv-editor.editor-deephire .preview-ai-result footer button {
  width: 66px !important;
  min-width: 66px !important;
  height: 30px !important;
}

.inline-rewrite-modal {
  width: min(520px, calc(100vw - 36px)) !important;
  padding: 26px 28px 24px !important;
  border-radius: 16px !important;
}

.inline-rewrite-modal h2 {
  margin: 0 0 8px !important;
  color: #22272d !important;
  font-size: 20px !important;
  font-weight: 500 !important;
}

.inline-rewrite-modal p {
  margin: 0 36px 16px 0 !important;
  color: #6e7781 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.inline-rewrite-modal .inline-rewrite-input {
  width: 100% !important;
  min-height: 132px !important;
  padding: 14px 15px !important;
  border: 1px solid #e4e8ec !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #303741 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  resize: vertical !important;
}

.inline-rewrite-modal .inline-rewrite-input:focus {
  border-color: #91bd74 !important;
  box-shadow: 0 0 0 3px rgba(91, 141, 58, .12) !important;
  outline: 0 !important;
}

.inline-rewrite-tips {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 8px !important;
  color: #9aa3ad !important;
  font-size: 12px !important;
}

.inline-rewrite-footer {
  margin-top: 20px !important;
}

.inline-rewrite-footer button {
  width: 96px !important;
  min-width: 96px !important;
}

@keyframes inlineAiPulse {
  0%, 100% { transform: scale(.78); opacity: .45; }
  45% { transform: scale(1.12); opacity: 1; }
}

/* Preview toolbar compact v103: one active preview editor and smaller controls. */
.rv-editor.editor-deephire .preview-editable-block {
  margin: 3px -5px 0 !important;
  padding: 5px !important;
  border-radius: 6px !important;
}

.rv-editor.editor-deephire .preview-editable-block:hover,
.rv-editor.editor-deephire .preview-editable-block:focus-within {
  border-color: transparent !important;
  background: transparent !important;
}

.rv-editor.editor-deephire .preview-editable-block.is-active {
  border-color: rgba(130, 181, 91, .42) !important;
  background: rgba(255, 255, 255, .46) !important;
}

.rv-editor.editor-deephire .preview-editable-block:hover .preview-inline-toolbar,
.rv-editor.editor-deephire .preview-editable-block:focus-within .preview-inline-toolbar {
  opacity: 0 !important;
  pointer-events: none !important;
}

.rv-editor.editor-deephire .preview-editable-block.is-active .preview-inline-toolbar {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar {
  top: -25px !important;
  min-height: 28px !important;
  padding: 0 7px !important;
  gap: 5px !important;
  border-radius: 7px !important;
  box-shadow: 0 8px 18px rgba(31, 41, 51, .1) !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar button {
  min-width: 19px !important;
  height: 22px !important;
  padding: 0 3px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar button.ai {
  height: 22px !important;
  min-width: 56px !important;
  padding: 0 6px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .preview-inline-toolbar > span {
  height: 14px !important;
}

.rv-editor.editor-deephire .preview-editable-body {
  min-height: 18px !important;
  font-size: .94em !important;
  line-height: 1.55 !important;
}

.rv-editor.editor-deephire .preview-editable-body p {
  margin-bottom: 4px !important;
}

.rv-editor.editor-deephire .preview-ai-result {
  margin-top: 7px !important;
  padding: 11px 14px 12px !important;
  border-radius: 0 0 6px 6px !important;
}

.rv-editor.editor-deephire .preview-ai-result h4 {
  margin-bottom: 8px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .preview-ai-result p {
  margin-bottom: 5px !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

.rv-editor.editor-deephire .preview-ai-result footer {
  gap: 6px !important;
  margin-top: 8px !important;
}

.rv-editor.editor-deephire .preview-ai-result footer button {
  width: 50px !important;
  min-width: 50px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  line-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.rv-editor.editor-deephire .preview-ai-result footer button.primary {
  width: 50px !important;
  min-width: 50px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  line-height: 24px !important;
}

/* Basic info density v105: use compact paired rows for short fields. */
.rv-editor.editor-deephire .basic-info-grid {
  grid-template-columns: 132px minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px 12px !important;
  align-items: stretch !important;
}

.rv-editor.editor-deephire .basic-info-grid .avatar-upload-field {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  order: 0 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 0 12px !important;
  gap: 10px !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-name {
  grid-column: 2 / 4 !important;
  order: 1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-gender {
  grid-column: 2 / 3 !important;
  order: 2 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-birth {
  grid-column: 3 / 4 !important;
  order: 3 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-city,
.rv-editor.editor-deephire .basic-info-grid .basic-field-job {
  grid-column: 1 / 3 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-age,
.rv-editor.editor-deephire .basic-info-grid .basic-field-major {
  grid-column: 3 / 4 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-phone {
  order: 4 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-wechat {
  order: 5 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-email,
.rv-editor.editor-deephire .basic-info-grid .basic-field-company,
.rv-editor.editor-deephire .basic-info-grid .basic-field-ethnicity {
  grid-column: 1 / -1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-email {
  order: 6 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-city {
  order: 7 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-age {
  order: 8 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-job {
  order: 9 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-major {
  order: 10 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-company,
.rv-editor.editor-deephire .basic-info-grid .basic-field-ethnicity {
  order: 11 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell {
  min-height: 44px !important;
  font-size: 14px !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input,
.rv-editor.editor-deephire .basic-info-grid .editor-select-trigger,
.rv-editor.editor-deephire .basic-info-grid .editor-month-trigger {
  min-height: 44px !important;
  height: 44px !important;
  font-size: 14px !important;
}

.rv-editor.editor-deephire .basic-info-grid .locked-field::before {
  font-size: 12px !important;
}

.rv-editor.editor-deephire .basic-info-grid .upload-avatar-btn.avatar-upload-card {
  width: 132px !important;
  min-height: 162px !important;
  height: 162px !important;
  padding: 12px !important;
}

.rv-editor.editor-deephire .basic-info-grid .avatar-upload-placeholder,
.rv-editor.editor-deephire .basic-info-grid .avatar-upload-preview {
  width: 108px !important;
  height: 108px !important;
}

.rv-editor.editor-deephire .basic-info-grid .avatar-upload-card b {
  font-size: 14px !important;
}

@media (max-width: 1280px) {
  .rv-editor.editor-deephire .basic-info-grid {
    grid-template-columns: 124px minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .upload-avatar-btn.avatar-upload-card {
    width: 124px !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .avatar-upload-placeholder,
  .rv-editor.editor-deephire .basic-info-grid .avatar-upload-preview {
    width: 100px !important;
    height: 100px !important;
  }
}

/* Editor responsive v106: keep form and preview visible on narrow desktop widths. */
.rv-editor.editor-deephire .editor-deephire-body {
  grid-template-columns:
    clamp(360px, 30vw, 500px)
    minmax(0, 1fr)
    clamp(240px, 18vw, 360px) !important;
}

.rv-editor.editor-deephire .editor-input-zone,
.rv-editor.editor-deephire .editor-preview-zone,
.rv-editor.editor-deephire .editor-ai-zone,
.rv-editor.editor-deephire .side-panel {
  min-width: 0 !important;
}

.rv-editor.editor-deephire .editor-preview-zone {
  padding-left: clamp(12px, 2vw, 36px) !important;
  padding-right: clamp(12px, 2vw, 36px) !important;
}

.rv-editor.editor-deephire .editor-preview-zone .a4 {
  width: min(590px, 100%) !important;
  max-width: 100% !important;
}

@media (max-width: 1500px) {
  .rv-editor.editor-deephire .editor-deephire-body {
    grid-template-columns:
      clamp(360px, 32vw, 460px)
      minmax(0, 1fr)
      clamp(220px, 17vw, 300px) !important;
  }

  .rv-editor.editor-deephire .editor-ai-zone {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .rv-editor.editor-deephire .canvas-zoom-tools {
    right: clamp(232px, calc(17vw + 22px), 322px) !important;
  }
}

@media (max-width: 1320px) {
  .rv-editor.editor-deephire .editor-deephire-body {
    grid-template-columns: clamp(340px, 36vw, 420px) minmax(0, 1fr) 0 !important;
  }

  .rv-editor.editor-deephire .editor-ai-zone {
    display: none !important;
  }

  .rv-editor.editor-deephire .editor-preview-zone {
    border-right: 0 !important;
  }

  .rv-editor.editor-deephire .canvas-zoom-tools {
    right: 18px !important;
  }
}

@media (max-width: 1080px) {
  .rv-editor.editor-deephire .editor-deephire-body {
    grid-template-columns: 1fr !important;
    height: auto !important;
    overflow: auto !important;
  }

  .rv-editor.editor-deephire .editor-input-zone,
  .rv-editor.editor-deephire .editor-preview-zone {
    height: auto !important;
    min-height: 640px !important;
  }

  .rv-editor.editor-deephire .basic-info-grid {
    grid-template-columns: 132px minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .rv-editor.editor-deephire .canvas-zoom-tools {
    position: sticky !important;
    margin-left: auto !important;
    right: 18px !important;
    bottom: 18px !important;
  }
}

.rv-editor.editor-deephire .preview-ai-close {
  top: 8px !important;
  right: 10px !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 18px !important;
}

/* Inline rich add v102: direct add rows and real rich text editing. */
.rv-editor.editor-deephire .competitor-rich-box {
  border-color: #e8ecef !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(17, 24, 39, .02) !important;
}

.rv-editor.editor-deephire .competitor-rich-toolbar {
  min-height: 48px !important;
  align-items: center !important;
  padding: 6px 14px !important;
  border-bottom-color: #edf0f2 !important;
  background: linear-gradient(180deg, #fff, #fbfcfb) !important;
}

.rv-editor.editor-deephire .rich-format-tools {
  gap: 8px !important;
  padding-top: 0 !important;
}

.rv-editor.editor-deephire .rich-format-tools button {
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 7px !important;
  color: #7f878f !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

.rv-editor.editor-deephire .rich-format-tools button:hover,
.rv-editor.editor-deephire .rich-format-tools button:focus-visible {
  background: #f2f6ef !important;
  color: #3f6f25 !important;
  transform: none !important;
  outline: 0 !important;
}

.rv-editor.editor-deephire .rich-format-tools > i {
  margin: 0 3px !important;
  background: #e4e8ec !important;
}

.rv-editor.editor-deephire .competitor-rich-editor {
  min-height: 172px !important;
  padding: 20px 22px 30px !important;
  color: #2e343a !important;
  font-size: 15px !important;
  line-height: 1.76 !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .competitor-rich-editor strong,
.rv-editor.editor-deephire .preview-editable-body strong {
  font-weight: 700 !important;
}

.rv-editor.editor-deephire .competitor-rich-editor em,
.rv-editor.editor-deephire .preview-editable-body em {
  font-style: italic !important;
}

.rv-editor.editor-deephire .competitor-rich-editor u,
.rv-editor.editor-deephire .preview-editable-body u {
  text-underline-offset: 3px !important;
}

.rv-editor.editor-deephire .competitor-rich-editor:focus {
  background: #fff !important;
  box-shadow: inset 0 0 0 2px rgba(80, 125, 46, .08) !important;
}

.rv-editor.editor-deephire .add-item {
  height: 34px !important;
  margin: 16px 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #3f6f25 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  justify-content: flex-start !important;
}

.rv-editor.editor-deephire .add-item span {
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 6px !important;
  border: 1.5px solid currentColor !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* Topbar autosave v107: move More beside logo and make autosave state explicit. */
.rv-editor.editor-deephire .editor-deephire-brand {
  flex: 0 0 auto !important;
}

.rv-editor.editor-deephire .header-more-btn {
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #edf0f2 !important;
  border-radius: 999px !important;
  background: #f8faf8 !important;
  color: #5f6b72 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 28px !important;
  box-shadow: none !important;
}

.rv-editor.editor-deephire .header-more-btn:hover,
.rv-editor.editor-deephire .header-more-btn:focus-visible {
  background: #eef6eb !important;
  color: #3f6f25 !important;
  outline: 0 !important;
}

.rv-editor.editor-deephire .editor-deephire-title {
  min-width: 0 !important;
}

.rv-editor.editor-deephire .editor-deephire-title .saved {
  display: grid !important;
  grid-template-columns: 8px auto !important;
  grid-template-rows: auto auto !important;
  column-gap: 6px !important;
  row-gap: 0 !important;
  align-items: center !important;
  min-width: 92px !important;
  max-width: 178px !important;
  line-height: 1.1 !important;
}

.rv-editor.editor-deephire .editor-deephire-title .saved span {
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}

.rv-editor.editor-deephire .editor-deephire-title .saved b {
  display: block !important;
  color: #3478f6 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 14px !important;
}

.rv-editor.editor-deephire .editor-deephire-title .saved em {
  display: block !important;
  max-width: 164px !important;
  overflow: hidden !important;
  color: #97a1ad !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 12px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .editor-deephire-title .save-error b {
  color: #d9534f !important;
}

.rv-editor.editor-deephire .editor-deephire-title .save-error em {
  color: #d9534f !important;
}

.rv-editor.editor-deephire .editor-deephire-title .save-dirty b,
.rv-editor.editor-deephire .editor-deephire-title .save-saving b {
  color: #d58b18 !important;
}

.rv-editor.editor-deephire .editor-deephire-title .save-dirty em,
.rv-editor.editor-deephire .editor-deephire-title .save-saving em {
  color: #b98335 !important;
}

@media (max-width: 1280px) {
  .rv-editor.editor-deephire .editor-deephire-title .saved {
    max-width: 118px !important;
  }

.rv-editor.editor-deephire .editor-deephire-title .saved em {
  max-width: 104px !important;
  }
}

/* Auth and VIP modal v108: keep users on the current page with compact, transparent overlays. */
.modal-mask:has(.login-upgrade-modal),
.modal-mask:has(.vip-upgrade-modal) {
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(18px, 4vw, 42px) !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(80, 145, 255, 0.14), transparent 28%),
    rgba(15, 23, 42, 0.18) !important;
  backdrop-filter: blur(6px) saturate(108%) !important;
}

.modal.login-upgrade-modal,
.modal.vip-upgrade-modal {
  border: 1px solid rgba(223, 230, 237, 0.92) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(255, 229, 188, 0.2), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.94)) !important;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.16) !important;
  color: #202a35 !important;
}

.modal.login-upgrade-modal {
  width: min(424px, calc(100vw - 56px)) !important;
  max-height: min(720px, calc(100vh - 56px)) !important;
  overflow: auto !important;
  padding: 22px 24px 24px !important;
}

.modal.login-upgrade-modal::before,
.modal.vip-upgrade-modal::before {
  opacity: 0.45 !important;
}

.login-upgrade-modal .close {
  top: 16px !important;
  right: 16px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  z-index: 4 !important;
}

.login-upgrade-modal .close .ui-icon {
  width: 19px !important;
  height: 19px !important;
}

.login-modal-brand {
  gap: 10px !important;
  padding-right: 44px !important;
}

.login-modal-brand .brand-mark {
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 20px rgba(54, 126, 216, 0.14) !important;
}

.login-modal-brand b {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

.login-modal-brand span,
.vip-modal-brand span {
  margin-top: 2px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.login-modal-heading {
  margin-top: 18px !important;
}

.login-modal-heading > span {
  min-height: 24px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.login-upgrade-modal h2 {
  margin-top: 10px !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
}

.login-upgrade-modal p {
  margin-top: 8px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.login-field-stack {
  gap: 10px !important;
  margin-top: 18px !important;
}

.login-field {
  min-height: 46px !important;
  gap: 9px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
}

.login-field > span {
  width: 19px !important;
  height: 19px !important;
  flex-basis: 19px !important;
}

.login-field .ui-icon {
  width: 17px !important;
  height: 17px !important;
}

.login-upgrade-modal .login-input {
  height: 44px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

.login-upgrade-modal .login-input::placeholder {
  font-weight: 400 !important;
}

.login-upgrade-modal .login-code-row {
  grid-template-columns: minmax(0, 1fr) 108px !important;
  gap: 9px !important;
}

.login-upgrade-modal .login-code-row button {
  height: 46px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.login-upgrade-modal .login-message {
  min-height: 20px !important;
  margin: 8px 0 6px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.login-upgrade-modal .login-btn {
  height: 48px !important;
  border-radius: 13px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 12px 24px rgba(47, 125, 246, 0.18) !important;
}

.login-upgrade-modal .login-btn::before {
  display: none !important;
}

.login-trust-row {
  gap: 8px 12px !important;
  margin-top: 12px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.login-upgrade-modal .agreement {
  margin-top: 12px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.login-upgrade-modal .agreement button {
  font-weight: 500 !important;
}

.modal.vip-upgrade-modal {
  width: min(820px, calc(100vw - 88px)) !important;
  max-height: min(680px, calc(100vh - 120px)) !important;
  overflow: auto !important;
  padding: 22px 24px 20px !important;
}

.vip-modal-top {
  grid-template-columns: minmax(150px, 0.8fr) minmax(260px, 1.2fr) minmax(130px, 0.75fr) !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}

.vip-modal-brand {
  gap: 10px !important;
}

.vip-modal-brand .brand-mark {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
  border-radius: 10px !important;
}

.vip-modal-brand b {
  font-size: 18px !important;
  font-weight: 600 !important;
}

.modal.vip-upgrade-modal .vip-modal-heading h2 {
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
}

.vip-modal-heading p {
  margin-top: 7px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.vip-modal-tools {
  gap: 8px !important;
}

.vip-modal-tools button {
  font-size: 12px !important;
  font-weight: 400 !important;
}

.vip-modal-tools .close {
  width: 32px !important;
  height: 32px !important;
  border-radius: 10px !important;
}

.vip-plans {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.vip-plan {
  min-height: 0 !important;
  padding: 16px !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(68, 112, 171, 0.09) !important;
}

.vip-ribbon {
  padding: 5px 11px 6px 14px !important;
  border-radius: 0 14px 0 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.vip-plan-title {
  justify-content: flex-start !important;
  min-height: 26px !important;
  margin-top: 0 !important;
}

.vip-plan-title b {
  font-size: 16px !important;
  font-weight: 600 !important;
}

.vip-plan-title span {
  padding: 3px 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.vip-price {
  justify-content: flex-start !important;
  min-height: 44px !important;
  margin: 8px 0 0 !important;
  gap: 5px !important;
}

.vip-price em {
  font-size: 18px !important;
  font-weight: 600 !important;
}

.vip-price strong {
  font-size: 32px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.vip-price small {
  font-size: 12px !important;
  font-weight: 400 !important;
}

.vip-plan-cta {
  height: 38px !important;
  margin: 10px 0 10px !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 22px rgba(16, 86, 190, 0.14) !important;
}

.vip-plan-cta.ghost {
  border-width: 1px !important;
}

.vip-feature-divider {
  gap: 7px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.vip-feature-list {
  gap: 7px !important;
  margin-top: 10px !important;
}

.vip-feature-list li {
  gap: 8px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.vip-feature-text {
  font-weight: 500 !important;
}

.vip-benefit-bar {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: 12px !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
}

.vip-benefit-item {
  gap: 9px !important;
  min-height: 38px !important;
  padding: 0 9px !important;
}

.vip-benefit-item > span {
  width: 32px !important;
  height: 32px !important;
  flex-basis: 32px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.vip-benefit-item .ui-icon {
  width: 18px !important;
  height: 18px !important;
}

.vip-benefit-item b {
  font-size: 12px !important;
  font-weight: 600 !important;
}

.vip-benefit-item small {
  margin-top: 2px !important;
  font-size: 11px !important;
  font-weight: 400 !important;
}

.vip-modal-note {
  margin-top: 10px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

@media (max-width: 760px) {
  .modal.login-upgrade-modal,
  .modal.vip-upgrade-modal {
    width: min(420px, calc(100vw - 28px)) !important;
    max-height: calc(100vh - 28px) !important;
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }

  .login-upgrade-modal .login-code-row,
  .vip-modal-top,
  .vip-plans,
  .vip-benefit-bar {
    grid-template-columns: 1fr !important;
  }

  .vip-modal-heading {
    text-align: left !important;
  }

  .vip-modal-brand,
  .vip-modal-tools {
    justify-content: flex-start !important;
  }

  .vip-benefit-item,
  .vip-benefit-item:nth-child(2) {
    border-right: 0 !important;
    border-top: 1px solid rgba(96, 115, 164, 0.16) !important;
  }

  .vip-benefit-item:first-child {
    border-top: 0 !important;
  }
}

/* Mine first-page thumbnails v109 */
.rv-mine .resume-card {
  min-width: 0 !important;
}

.rv-mine .resume-card .thumb {
  position: relative !important;
  aspect-ratio: 210 / 297 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.rv-mine .resume-thumb-live.resume-thumb-first-page,
.rv-mine .resume-thumb-live {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  pointer-events: none !important;
  background: #fff !important;
}

.rv-mine .resume-thumb-live .mini-live-template {
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  width: 650px !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  display: block !important;
  transform: translateX(-50%) scale(var(--mine-thumb-scale, 0.56)) !important;
  transform-origin: top center !important;
}

.rv-mine .resume-thumb-live .resume-page {
  width: 650px !important;
  min-height: 920px !important;
  height: auto !important;
  aspect-ratio: 210 / 297 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.rv-mine .resume-thumb-live .resume-page:not(:first-child),
.rv-mine .resume-thumb-live .page-num {
  display: none !important;
}

.rv-mine .card-title {
  min-width: 0 !important;
  max-width: 100% !important;
}

.rv-mine .card-title h3 {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Editor dropdown, inferred age and typography v110 */
.rv-editor.editor-deephire .basic-info-grid .basic-field:has(.editor-month-picker.is-open),
.rv-editor.editor-deephire .basic-info-grid .basic-field:has(.editor-custom-select.is-open),
.rv-editor.editor-deephire .competitor-field:has(.editor-custom-select.is-open) {
  z-index: 160 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell,
.rv-editor.editor-deephire .competitor-field > span,
.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input,
.rv-editor.editor-deephire .basic-info-grid .editor-select-trigger,
.rv-editor.editor-deephire .basic-info-grid .editor-month-trigger,
.rv-editor.editor-deephire .competitor-field input,
.rv-editor.editor-deephire .competitor-field select,
.rv-editor.editor-deephire .date-range-input,
.rv-editor.editor-deephire .competitor-rich-editor,
.rv-editor.editor-deephire .competitor-rich-box textarea {
  font-family: "PingFang SC", "Helvetica Neue", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  color: #2f343b !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell {
  color: #5f6670 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input,
.rv-editor.editor-deephire .basic-info-grid .editor-select-trigger,
.rv-editor.editor-deephire .basic-info-grid .editor-month-trigger {
  min-height: 40px !important;
  height: 40px !important;
}

.rv-editor.editor-deephire .editor-select-trigger span,
.rv-editor.editor-deephire .editor-month-trigger span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .editor-select-menu,
.rv-editor.editor-deephire .editor-city-menu,
.rv-editor.editor-deephire .editor-month-menu {
  z-index: 220 !important;
}

.rv-editor.editor-deephire .editor-select-menu {
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
  max-height: 236px !important;
  border-radius: 10px !important;
}

.rv-editor.editor-deephire .editor-select-option {
  min-height: 42px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .editor-select-menu-age,
.rv-editor.editor-deephire .editor-select-menu-gender {
  min-width: 100% !important;
}

.rv-editor.editor-deephire .editor-city-menu {
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 6px) !important;
  width: min(388px, calc(100vw - 56px)) !important;
  max-width: calc(100vw - 56px) !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  max-height: 286px !important;
}

.rv-editor.editor-deephire .editor-city-provinces,
.rv-editor.editor-deephire .editor-city-list {
  max-height: 286px !important;
  padding: 7px !important;
}

.rv-editor.editor-deephire .editor-city-provinces button,
.rv-editor.editor-deephire .editor-city-list button {
  min-height: 40px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .editor-city-list button > span:first-child {
  width: 15px !important;
  height: 15px !important;
  margin-right: 10px !important;
}

.rv-editor.editor-deephire .editor-month-menu {
  top: calc(100% + 6px) !important;
  width: min(320px, calc(100vw - 56px)) !important;
  border-radius: 10px !important;
}

.rv-editor.editor-deephire .basic-field-birth .editor-month-menu {
  left: auto !important;
  right: -8px !important;
}

.rv-editor.editor-deephire .editor-month-head {
  grid-template-columns: 44px 1fr 44px !important;
  height: 42px !important;
}

.rv-editor.editor-deephire .editor-month-head b {
  font-size: 15px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire .editor-month-head button {
  height: 42px !important;
  font-size: 21px !important;
}

.rv-editor.editor-deephire .editor-month-grid {
  gap: 8px 10px !important;
  padding: 12px 16px 16px !important;
}

.rv-editor.editor-deephire .editor-month-grid button {
  height: 40px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

.rv-editor.editor-deephire .editor-month-clear {
  width: 20px !important;
  height: 20px !important;
  font-size: 16px !important;
  line-height: 18px !important;
}

.rv-editor.editor-deephire .competitor-rich-editor,
.rv-editor.editor-deephire .competitor-rich-box textarea {
  min-height: 138px !important;
}

.rv-editor.editor-deephire .competitor-rich-box .competitor-rich-editor,
.rv-editor.editor-deephire .competitor-rich-box textarea,
.rv-editor.editor-deephire .competitor-rich-box.wide .competitor-rich-editor {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #2f343b !important;
}

/* Resume preview modal v111 */
.modal-mask:has(.resume-preview-modal) {
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.46);
  backdrop-filter: blur(7px);
}

.modal.resume-preview-modal {
  width: min(1040px, calc(100vw - 72px)) !important;
  height: min(840px, calc(100vh - 56px));
  max-width: none;
  max-height: none;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  padding: 20px 22px 22px;
  border: 1px solid rgba(221, 228, 238, 0.9);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(225, 239, 255, 0.82) 0%, rgba(255, 255, 255, 0.98) 32%, rgba(245, 238, 255, 0.84) 100%);
  box-shadow: 0 28px 88px rgba(15, 23, 42, 0.24);
  overflow: hidden;
}

.modal.resume-preview-modal .close {
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  color: #7a8494;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.modal.resume-preview-modal .close svg {
  width: 18px;
  height: 18px;
}

.modal.resume-preview-modal .preview-modal-head {
  min-height: 48px;
  margin: 0;
  padding: 0 46px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.modal.resume-preview-modal .preview-modal-head h2 {
  margin: 0;
  color: #1f2329;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
}

.modal.resume-preview-modal .preview-modal-head p {
  margin: 8px 0 0;
  color: #6b7280;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

.modal.resume-preview-modal .preview-modal-head .small-primary {
  flex: 0 0 auto;
  min-width: 104px;
  height: 40px;
  padding: 0 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 12px 26px rgba(47, 125, 246, 0.22);
}

.modal.resume-preview-modal .preview-spread {
  min-height: 0;
  max-height: none;
  height: 100%;
  display: grid;
  justify-items: center;
  align-items: start;
  gap: 20px;
  padding: 22px 18px 28px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.96);
  overflow: auto;
  overscroll-behavior: contain;
}

.modal.resume-preview-modal .preview-spread::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.modal.resume-preview-modal .preview-spread::-webkit-scrollbar-thumb {
  background: #c7ccd6;
  border-radius: 999px;
}

.modal.resume-preview-modal .preview-spread .a4 {
  width: min(760px, calc(100% - 24px)) !important;
  max-width: 760px;
  margin: 0 auto 20px;
  gap: 22px;
  transform: scale(1);
}

.modal.resume-preview-modal .preview-spread .resume-page {
  min-height: auto;
  box-shadow: 0 0 0 1px rgba(209, 216, 228, 0.92), 0 18px 52px rgba(15, 23, 42, 0.14);
}

.modal.resume-preview-modal [data-preview-edit="true"] {
  cursor: default !important;
}

.modal.resume-preview-modal .preview-editable-block,
.modal.resume-preview-modal .preview-editable-block:hover,
.modal.resume-preview-modal .preview-editable-block:focus-within,
.modal.resume-preview-modal .preview-editable-block.is-active {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.modal.resume-preview-modal .preview-inline-toolbar,
.modal.resume-preview-modal .preview-ai-result {
  display: none !important;
}

@media (max-width: 980px) {
  .modal.resume-preview-modal {
    width: min(760px, calc(100vw - 28px)) !important;
    height: min(840px, calc(100vh - 28px));
    padding: 16px;
    border-radius: 18px;
  }

  .modal.resume-preview-modal .preview-modal-head {
    align-items: flex-start;
    flex-direction: column;
    padding-right: 42px;
  }

  .modal.resume-preview-modal .preview-modal-head .small-primary {
    height: 36px;
    min-width: 96px;
  }

  .modal.resume-preview-modal .preview-spread {
    padding: 14px 8px 20px;
  }

  .modal.resume-preview-modal .preview-spread .a4 {
    width: min(680px, calc(100% - 12px)) !important;
  }
}

/* Editor template pagination and first-page thumbnails v112 */
.rv-editor.editor-deephire .current-template-card {
  display: none !important;
}

.rv-editor.editor-deephire .editor-template-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0 14px;
  color: #8a929d;
  font-size: 12px;
  font-weight: 400;
}

.rv-editor.editor-deephire .editor-template-summary b {
  color: #5d6570;
  font-size: 12px;
  font-weight: 400;
}

.rv-editor.editor-deephire .editor-template-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start;
}

.rv-editor.editor-deephire .template-card {
  position: relative;
  min-width: 0;
  padding: 8px 8px 10px !important;
  border: 1px solid #edf0f3 !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.035) !important;
  transform: none !important;
}

.rv-editor.editor-deephire .template-card:hover {
  border-color: #cdd9ec !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
}

.rv-editor.editor-deephire .template-card.active {
  border-color: #4f8df7 !important;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%) !important;
  box-shadow: 0 0 0 2px rgba(47, 125, 246, 0.12), 0 14px 34px rgba(47, 125, 246, 0.12) !important;
}

.rv-editor.editor-deephire .template-selected-check {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #2f7df6;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  opacity: 0;
  transform: scale(0.82);
  transition: opacity 0.16s var(--ease), transform 0.16s var(--ease);
  box-shadow: 0 8px 18px rgba(47, 125, 246, 0.26);
}

.rv-editor.editor-deephire .template-card.active .template-selected-check {
  opacity: 1;
  transform: scale(1);
}

.rv-editor.editor-deephire .template-preview-first-page {
  aspect-ratio: 210 / 297 !important;
  height: auto !important;
  border: 1px solid #eef1f4;
  border-radius: 10px !important;
  background: #f8fafc !important;
  overflow: hidden !important;
}

.rv-editor.editor-deephire .template-preview-first-page .template-thumb-img,
.rv-editor.editor-deephire .template-preview-first-page .template-png-thumb {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: top center !important;
}

.rv-editor.editor-deephire .template-preview-first-page .template-html-thumb,
.rv-editor.editor-deephire .template-preview-first-page .real-template {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.rv-editor.editor-deephire .template-card .template-name {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  margin-top: 8px;
  padding: 0 2px;
}

.rv-editor.editor-deephire .template-card .template-name span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #202833;
  font-size: 13px;
  font-weight: 400;
}

.rv-editor.editor-deephire .template-card .template-name em {
  min-width: 34px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #fff7e6;
  color: #d97706;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
}

.rv-editor.editor-deephire .editor-template-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 16px 0 4px;
}

.rv-editor.editor-deephire .editor-template-pagination button {
  height: 32px;
  min-width: 74px;
  padding: 0 12px;
  border: 1px solid #e2e7ee;
  border-radius: 999px;
  background: #fff;
  color: #4b5563;
  font-size: 13px;
  font-weight: 400;
}

.rv-editor.editor-deephire .editor-template-pagination button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.rv-editor.editor-deephire .editor-template-pagination span {
  color: #7b8490;
  font-size: 13px;
  font-weight: 400;
}

@media (max-width: 1080px) {
  .rv-editor.editor-deephire .editor-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Public resume analysis page v114 */
.rv-marketing-shell .rv-analysis-public.analysis-public-page {
  width: min(1240px, calc(100vw - 72px));
  margin: 0 auto;
  padding: 112px 0 68px;
  background: transparent;
}

.rv-analysis-public .analysis-public-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
  align-items: stretch;
  gap: 28px;
}

.rv-analysis-public .analysis-public-copy,
.rv-analysis-public .analysis-public-score-card,
.rv-analysis-public .analysis-public-grid article,
.rv-analysis-public .analysis-public-workflow {
  border: 1px solid rgba(47, 125, 246, 0.12);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 46px rgba(50, 96, 150, 0.09);
}

.rv-analysis-public .analysis-public-copy {
  padding: clamp(34px, 5vw, 64px);
  background:
    radial-gradient(circle at 12% 16%, rgba(47, 125, 246, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(245,249,255,.92));
}

.rv-analysis-public .analysis-public-kicker {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #1f63d6;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.8px;
}

.rv-analysis-public .analysis-public-kicker::before {
  content: "✦";
  color: #2f7df6;
}

.rv-analysis-public h1 {
  max-width: 720px;
  margin: 18px 0 16px;
  color: #1f2329;
  font-size: clamp(42px, 5.2vw, 72px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: 0;
}

.rv-analysis-public .analysis-public-copy p {
  max-width: 680px;
  margin: 0;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.8;
  font-weight: 400;
}

.rv-analysis-public .analysis-public-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.rv-analysis-public .analysis-public-actions button,
.rv-analysis-public .analysis-public-score-card button {
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.rv-analysis-public .analysis-public-actions .primary.green,
.rv-analysis-public .analysis-public-score-card button {
  border: 0;
  background: linear-gradient(135deg,#5aa2ff 0%,#2f7df6 52%,#1f63d6 100%);
  color: #fff;
  box-shadow: 0 14px 30px -10px rgba(47,125,246,.5);
}

.rv-analysis-public .analysis-public-actions .outline.green-outline {
  border: 1px solid #dce6f4;
  background: #fff;
  color: #2b3a55;
}

.rv-analysis-public .analysis-public-actions .ui-icon {
  width: 16px;
  height: 16px;
  margin-right: 6px;
}

.rv-analysis-public .analysis-public-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.rv-analysis-public .analysis-public-metrics span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid rgba(47, 125, 246, 0.12);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #4b5563;
  font-size: 13px;
}

.rv-analysis-public .analysis-public-metrics b {
  color: #1f63d6;
  font-size: 18px;
  font-weight: 800;
}

.rv-analysis-public .analysis-public-score-card {
  padding: 30px;
  display: grid;
  gap: 18px;
  align-content: center;
}

.rv-analysis-public .analysis-public-score-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 10px;
}

.rv-analysis-public .analysis-public-score-head span {
  color: #1f2329;
  font-size: 18px;
  font-weight: 700;
}

.rv-analysis-public .analysis-public-score-head b {
  color: #2f7df6;
  font-size: 58px;
  line-height: 0.9;
  font-weight: 800;
}

.rv-analysis-public .analysis-public-bar {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 12px;
  color: #4b5563;
  font-size: 13px;
}

.rv-analysis-public .analysis-public-bar i {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2f7df6 var(--bar), #edf2f7 var(--bar));
}

.rv-analysis-public .analysis-public-bar b {
  color: #4b5563;
  font-weight: 700;
  text-align: right;
}

.rv-analysis-public .analysis-public-score-card button {
  width: 100%;
  margin-top: 6px;
}

.rv-analysis-public .analysis-public-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.rv-analysis-public .analysis-public-grid article {
  padding: 24px;
  transition: transform .24s cubic-bezier(.22,.8,.22,1), box-shadow .24s cubic-bezier(.22,.8,.22,1);
}

.rv-analysis-public .analysis-public-grid article:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 54px rgba(50, 96, 150, 0.13);
}

.rv-analysis-public .analysis-public-grid span {
  color: #8a95ab;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
}

.rv-analysis-public .analysis-public-grid h3 {
  margin: 12px 0 8px;
  color: #1f2329;
  font-size: 18px;
  font-weight: 700;
}

.rv-analysis-public .analysis-public-grid p,
.rv-analysis-public .analysis-public-steps p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.7;
}

.rv-analysis-public .analysis-public-workflow {
  margin-top: 24px;
  padding: 30px;
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.rv-analysis-public .analysis-public-workflow h2 {
  margin: 16px 0 0;
  color: #1f2329;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: 0;
}

.rv-analysis-public .analysis-public-steps {
  display: grid;
  gap: 14px;
}

.rv-analysis-public .analysis-public-steps article {
  padding: 18px 20px;
  border: 1px solid #edf2f8;
  border-radius: 18px;
  background: #fbfdff;
}

.rv-analysis-public .analysis-public-steps b {
  display: block;
  margin-bottom: 6px;
  color: #1f2329;
  font-size: 16px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .rv-marketing-shell .rv-analysis-public.analysis-public-page {
    width: calc(100vw - 32px);
    padding-top: 104px;
  }

  .rv-analysis-public .analysis-public-hero,
  .rv-analysis-public .analysis-public-workflow {
    grid-template-columns: 1fr;
  }

  .rv-analysis-public .analysis-public-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rv-analysis-public .analysis-public-grid {
    grid-template-columns: 1fr;
  }
}

/* Design audit polish v115 */
.rv-editor.editor-deephire .editor-deephire-topbar {
  grid-template-columns: minmax(150px, auto) minmax(210px, 1fr) auto auto auto !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.rv-editor.editor-deephire .editor-deephire-topbar .doc-title-btn {
  max-width: min(280px, 28vw) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .editor-deephire-topbar .publish-tools,
.rv-editor.editor-deephire .editor-deephire-topbar .edit-tools {
  min-width: 0 !important;
}

.rv-editor.editor-deephire .editor-deephire-topbar .publish-tools {
  display: flex !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
}

.rv-editor.editor-deephire .editor-deephire-topbar .top-mini,
.rv-editor.editor-deephire .editor-deephire-topbar .small-primary {
  flex: 0 0 auto !important;
}

.rv-editor.editor-deephire .editor-input-zone {
  min-width: 0 !important;
}

.rv-editor.editor-deephire .basic-info-grid {
  grid-template-columns: 118px repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.rv-editor.editor-deephire .basic-info-grid .avatar-upload-field {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field {
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-name {
  grid-column: 2 / 4 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-gender,
.rv-editor.editor-deephire .basic-info-grid .basic-field-birth,
.rv-editor.editor-deephire .basic-info-grid .basic-field-age,
.rv-editor.editor-deephire .basic-info-grid .basic-field-major {
  grid-column: auto / span 1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-phone,
.rv-editor.editor-deephire .basic-info-grid .basic-field-wechat {
  grid-column: auto / span 2 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-email {
  grid-column: 1 / 4 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-city {
  grid-column: 4 / 6 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-job,
.rv-editor.editor-deephire .basic-info-grid .basic-field-company,
.rv-editor.editor-deephire .basic-info-grid .basic-field-ethnicity {
  grid-column: 1 / -1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-title-cell {
  min-height: 38px !important;
  min-width: max-content !important;
  padding-right: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input,
.rv-editor.editor-deephire .basic-info-grid .editor-select-trigger,
.rv-editor.editor-deephire .basic-info-grid .editor-month-trigger {
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  color: #242b36 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 38px !important;
}

.rv-editor.editor-deephire .basic-info-grid .editor-select-trigger span,
.rv-editor.editor-deephire .basic-info-grid .editor-month-trigger span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.rv-editor.editor-deephire .basic-info-grid .upload-avatar-btn.avatar-upload-card {
  width: 118px !important;
  min-height: 150px !important;
  height: 150px !important;
  padding: 10px !important;
}

.rv-editor.editor-deephire .basic-info-grid .avatar-upload-placeholder,
.rv-editor.editor-deephire .basic-info-grid .avatar-upload-preview {
  width: 96px !important;
  height: 96px !important;
}

.rv-editor.editor-deephire .module-inline-textarea {
  min-height: 72px !important;
  height: auto !important;
  resize: vertical !important;
  padding: 10px 12px !important;
  line-height: 1.55 !important;
  white-space: pre-wrap !important;
}

.rv-editor.editor-deephire .editor-template-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.rv-editor.editor-deephire .template-card {
  padding: 10px !important;
}

.rv-editor.editor-deephire .template-preview-first-page {
  min-height: 214px !important;
}

.rv-editor.editor-deephire .template-card .template-name span {
  font-size: 13px !important;
  font-weight: 500 !important;
}

.rv-editor.editor-deephire:has(.editor-deephire-tabs [data-panel="template"].active) .editor-ai-zone,
.rv-editor.editor-deephire:has(.editor-deephire-tabs [data-panel="style"].active) .editor-ai-zone {
  opacity: 0.62 !important;
}

.rv-mine .resume-grid {
  grid-template-columns: repeat(auto-fit, minmax(270px, 270px)) !important;
  gap: 24px !important;
}

.rv-mine .resume-card {
  min-height: 438px !important;
}

.rv-mine .resume-card .thumb {
  height: 338px !important;
  padding: 12px !important;
}

.rv-mine .resume-card h3 {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 19px !important;
}

.modal.vip-upgrade-modal {
  width: min(760px, calc(100vw - 64px)) !important;
  max-height: min(760px, calc(100vh - 64px)) !important;
  padding: 24px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

.modal.vip-upgrade-modal .vip-modal-top {
  grid-template-columns: 1fr auto !important;
  align-items: start !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
}

.modal.vip-upgrade-modal .vip-modal-brand {
  grid-column: 1 / 2 !important;
}

.modal.vip-upgrade-modal .vip-modal-heading {
  grid-column: 1 / 2 !important;
  text-align: left !important;
}

.modal.vip-upgrade-modal .vip-modal-tools {
  grid-column: 2 / 3 !important;
  grid-row: 1 / span 2 !important;
  gap: 10px !important;
}

.modal.vip-upgrade-modal .vip-modal-tools button:not(.close) {
  display: none !important;
}

.modal.vip-upgrade-modal .vip-modal-heading h2 {
  font-size: 26px !important;
}

.modal.vip-upgrade-modal .vip-modal-heading p {
  margin-top: 6px !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
}

.modal.vip-upgrade-modal .vip-plans {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.modal.vip-upgrade-modal .vip-plan {
  min-height: 0 !important;
  padding: 16px !important;
  border-radius: 14px !important;
}

.modal.vip-upgrade-modal .vip-plan:nth-child(n + 3) .vip-feature-list li:nth-child(n + 5) {
  display: none !important;
}

.modal.vip-upgrade-modal .vip-plan-title {
  justify-content: flex-start !important;
  margin-top: 0 !important;
}

.modal.vip-upgrade-modal .vip-plan-title b {
  font-size: 17px !important;
}

.modal.vip-upgrade-modal .vip-price {
  justify-content: flex-start !important;
  min-height: 44px !important;
  margin: 8px 0 !important;
}

.modal.vip-upgrade-modal .vip-price strong {
  font-size: 34px !important;
}

.modal.vip-upgrade-modal .vip-price em {
  font-size: 18px !important;
}

.modal.vip-upgrade-modal .vip-price small {
  font-size: 12px !important;
}

.modal.vip-upgrade-modal .vip-plan-cta {
  height: 38px !important;
  margin: 6px 0 10px !important;
  font-size: 14px !important;
}

.modal.vip-upgrade-modal .vip-feature-divider {
  display: none !important;
}

.modal.vip-upgrade-modal .vip-feature-list {
  gap: 6px !important;
  margin-top: 8px !important;
}

.modal.vip-upgrade-modal .vip-feature-list li {
  font-size: 12px !important;
  font-weight: 500 !important;
}

.modal.vip-upgrade-modal .vip-benefit-bar {
  margin-top: 12px !important;
  padding: 10px 12px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.modal.vip-upgrade-modal .vip-benefit-item {
  min-height: 42px !important;
  gap: 8px !important;
  padding: 0 8px !important;
}

.modal.vip-upgrade-modal .vip-benefit-item > span {
  width: 32px !important;
  height: 32px !important;
  flex-basis: 32px !important;
  border-radius: 10px !important;
}

.modal.vip-upgrade-modal .vip-benefit-item .ui-icon {
  width: 17px !important;
  height: 17px !important;
}

.modal.vip-upgrade-modal .vip-benefit-item b {
  font-size: 12px !important;
}

.modal.vip-upgrade-modal .vip-benefit-item small {
  display: none !important;
}

.modal.vip-upgrade-modal .vip-modal-note {
  margin-top: 10px !important;
  font-size: 12px !important;
}

@media (max-width: 1180px) {
  .rv-editor.editor-deephire .editor-deephire-body {
    grid-template-columns: minmax(390px, 0.95fr) minmax(520px, 1.05fr) !important;
  }

  .rv-editor.editor-deephire .editor-ai-zone {
    display: none !important;
  }
}

@media (max-width: 760px) {
  .rv-editor.editor-deephire .editor-deephire-topbar {
    height: auto !important;
    min-height: 58px !important;
    grid-template-columns: minmax(132px, auto) minmax(0, 1fr) auto !important;
    padding: 6px 10px !important;
  }

  .rv-editor.editor-deephire .editor-deephire-topbar .editor-deephire-title {
    min-width: 0 !important;
  }

  .rv-editor.editor-deephire .editor-deephire-topbar .editor-spacer,
  .rv-editor.editor-deephire .editor-deephire-topbar .edit-tools {
    display: none !important;
  }

  .rv-editor.editor-deephire .editor-deephire-topbar .publish-tools {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }

  .rv-editor.editor-deephire .editor-deephire-topbar .publish-tools::-webkit-scrollbar {
    display: none !important;
  }

  .rv-editor.editor-deephire .editor-deephire-topbar .top-mini,
  .rv-editor.editor-deephire .editor-deephire-topbar .small-primary {
    width: auto !important;
    min-width: 76px !important;
    height: 32px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .rv-editor.editor-deephire .editor-deephire-body {
    grid-template-columns: 1fr !important;
  }

  .rv-editor.editor-deephire .editor-preview-zone,
  .rv-editor.editor-deephire .editor-ai-zone {
    display: none !important;
  }

  .rv-editor.editor-deephire .basic-info-grid {
    grid-template-columns: 112px repeat(2, minmax(0, 1fr)) !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .basic-field-name {
    grid-column: 2 / 4 !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .basic-field-gender,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-birth {
    grid-column: auto / span 1 !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .basic-field-phone,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-wechat,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-email,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-city,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-job,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-age,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-major,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-company,
  .rv-editor.editor-deephire .basic-info-grid .basic-field-ethnicity {
    grid-column: 1 / -1 !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .upload-avatar-btn.avatar-upload-card {
    width: 112px !important;
  }

  .rv-editor.editor-deephire .basic-info-grid .avatar-upload-placeholder,
  .rv-editor.editor-deephire .basic-info-grid .avatar-upload-preview {
    width: 90px !important;
    height: 90px !important;
  }

  .rv-editor.editor-deephire .editor-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rv-mine .resume-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rv-mine .resume-card {
    width: min(100%, 300px) !important;
  }

  .modal.vip-upgrade-modal {
    width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 28px) !important;
  }

  .modal.vip-upgrade-modal .vip-plans {
    grid-template-columns: 1fr !important;
  }

  .modal.vip-upgrade-modal .vip-benefit-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* PC experience rebuild v118 final cascade. Kept at the end so legacy page
   patches cannot split the shared visual system again. */
body .pc-refresh-shell .selection-page, body .pc-refresh-shell .workspace-page { width: min(1360px, calc(100% - 64px)); margin: 0 auto; padding: 40px 0 72px; }
body .pc-refresh-shell .selection-page-header, body .pc-refresh-shell .workspace-page-header { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding: 36px 40px; border: 1px solid #dfe7f4; border-radius: 24px; background: radial-gradient(circle at 86% 0%, #e8f2ff 0, transparent 33%), #fff; box-shadow: 0 18px 48px rgba(31, 58, 98, .08); }
body .pc-refresh-shell .selection-page-eyebrow, body .pc-refresh-shell .workspace-page-eyebrow { margin-bottom: 10px; color: #2563eb; font-size: 13px; font-weight: 750; letter-spacing: .08em; }
body .pc-refresh-shell .selection-page-title, body .pc-refresh-shell .workspace-page-title { margin: 0; color: #162033; font-size: clamp(30px, 3vw, 42px); letter-spacing: -.04em; line-height: 1.15; }
body .pc-refresh-shell .selection-page-description, body .pc-refresh-shell .workspace-page-description { max-width: 720px; margin: 14px 0 0; color: #667085; font-size: 15px; line-height: 1.75; }
body .pc-refresh-shell .selection-page-meta, body .pc-refresh-shell .workspace-page-meta { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
body .pc-refresh-shell .selection-page-meta span, body .pc-refresh-shell .workspace-page-meta span { padding: 8px 11px; border: 1px solid #d8e5f7; border-radius: 999px; color: #365275; background: #f8fbff; font-size: 12px; white-space: nowrap; }
body .pc-refresh-shell .selection-filter-panel { display: grid; grid-template-columns: minmax(250px, 1.5fr) repeat(3, minmax(130px, .75fr)); gap: 14px; margin-top: 28px; padding: 20px; border: 1px solid #e2e8f0; border-radius: 20px; background: #fff; }
body .pc-refresh-shell .selection-filter-panel .field-label { display: block; margin-bottom: 8px; color: #667085; font-size: 12px; font-weight: 650; }
body .pc-refresh-shell .selection-filter-panel input, body .pc-refresh-shell .selection-filter-panel select { width: 100%; height: 42px; box-sizing: border-box; border: 1px solid #d5dfed; border-radius: 10px; padding: 0 12px; color: #1e293b; background: #fbfdff; }
body .pc-refresh-shell .selection-results-head { display: flex; align-items: center; justify-content: space-between; margin: 34px 0 16px; }
body .pc-refresh-shell .selection-results-head h2 { margin: 0; color: #1e293b; font-size: 22px; }
body .pc-refresh-shell .template-catalog-grid, body .pc-refresh-shell .resume-assets-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body .pc-refresh-shell .selection-catalog-card, body .pc-refresh-shell .resume-asset-card { overflow: hidden; border: 1px solid #e0e8f3; border-radius: 18px; background: #fff; box-shadow: 0 7px 22px rgba(30, 55, 90, .055); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body .pc-refresh-shell .selection-catalog-card:hover, body .pc-refresh-shell .resume-asset-card:hover { transform: translateY(-4px); border-color: #aac8f5; box-shadow: 0 18px 36px rgba(30, 74, 132, .13); }
body .pc-refresh-shell .selection-catalog-preview, body .pc-refresh-shell .resume-asset-preview { position: relative; min-height: 266px; padding: 18px; background: linear-gradient(135deg, #f1f6fc, #e7eef8); }
body .pc-refresh-shell .selection-catalog-preview img, body .pc-refresh-shell .resume-asset-preview > img { display: block; width: 100%; height: 266px; border-radius: 8px; object-fit: cover; object-position: top; box-shadow: 0 8px 18px rgba(28, 48, 76, .17); }
body .pc-refresh-shell .selection-catalog-body, body .pc-refresh-shell .resume-asset-body { padding: 18px; }
body .pc-refresh-shell .selection-catalog-title, body .pc-refresh-shell .resume-asset-title { margin: 0; color: #1f2329; font-size: 17px; line-height: 1.35; }
body .pc-refresh-shell .selection-catalog-audience, body .pc-refresh-shell .resume-asset-subtitle, body .pc-refresh-shell .resume-asset-time { margin: 7px 0 0; color: #718096; font-size: 13px; }
body .pc-refresh-shell .selection-catalog-tags, body .pc-refresh-shell .resume-asset-meta, body .pc-refresh-shell .selection-catalog-actions, body .pc-refresh-shell .resume-asset-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
body .pc-refresh-shell .selection-catalog-tags { margin-top: 14px; }
body .pc-refresh-shell .selection-catalog-tags span, body .pc-refresh-shell .resume-asset-meta span { padding: 5px 8px; border-radius: 6px; color: #49617e; background: #f1f5f9; font-size: 11px; }
body .pc-refresh-shell .selection-catalog-actions, body .pc-refresh-shell .resume-asset-actions { margin-top: 17px; justify-content: space-between; }
body .pc-refresh-shell .selection-catalog-actions .btn, body .pc-refresh-shell .resume-asset-actions .btn { min-height: 36px; padding: 0 12px; border-radius: 8px; font-size: 13px; }
body .pc-refresh-shell .ai-landing-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 24px; margin-top: 28px; }
body .pc-refresh-shell .ai-form-panel, body .pc-refresh-shell .ai-sample-panel { padding: 28px; border: 1px solid #dfe8f4; border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(31, 58, 98, .06); }
body .pc-refresh-shell .workspace-page-header { margin-bottom: 28px; }
body .pc-refresh-shell .resume-asset-preview { min-height: 304px; }
body .pc-refresh-shell .resume-asset-preview > img { height: 304px; }
body .pc-refresh-shell .resume-asset-meta { margin-top: 13px; }
body .pc-refresh-shell .resume-asset-score { color: #15803d; background: #ecfdf3; }
body .pc-refresh-shell .resume-asset-autosave { color: #2563eb; background: #eff6ff; }

@media (max-width: 1180px) { body .pc-refresh-shell .template-catalog-grid, body .pc-refresh-shell .resume-assets-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } body .pc-refresh-shell .selection-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); } body .pc-refresh-shell .ai-landing-grid { grid-template-columns: 1fr; } }
@media (max-width: 820px) { body .pc-refresh-shell .selection-page, body .pc-refresh-shell .workspace-page { width: min(100% - 32px, 680px); padding-top: 24px; } body .pc-refresh-shell .selection-page-header, body .pc-refresh-shell .workspace-page-header { align-items: flex-start; flex-direction: column; padding: 26px; } body .pc-refresh-shell .selection-page-meta, body .pc-refresh-shell .workspace-page-meta { justify-content: flex-start; } body .pc-refresh-shell .template-catalog-grid, body .pc-refresh-shell .resume-assets-grid, body .pc-refresh-shell .selection-filter-panel { grid-template-columns: 1fr; } }

/* Workspace previews use a dedicated class: inherited editor thumbnail rules
   are intentionally not allowed to affect these persisted resume assets. */
body .pc-refresh-shell .resume-assets-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .pc-refresh-shell .resume-asset-card { display: grid; grid-template-columns: 196px minmax(0, 1fr); min-height: 304px; }
body .pc-refresh-shell .resume-asset-preview { overflow: hidden; padding: 12px; border-radius: 17px 0 0 17px; }
body .pc-refresh-shell .resume-asset-live { position: absolute; top: 12px; left: 50%; width: 650px; transform: translateX(-50%) scale(.265); transform-origin: top center; }
body .pc-refresh-shell .resume-asset-live .mini-live-template { width: 650px; margin: 0; }
body .pc-refresh-shell .resume-asset-live .resume-page { width: 650px; min-height: 920px; margin: 0; border-radius: 0; box-shadow: none; }
body .pc-refresh-shell .resume-asset-live .resume-page:not(:first-child), body .pc-refresh-shell .resume-asset-live .page-num { display: none; }
body .pc-refresh-shell .resume-asset-content { display: flex; flex-direction: column; min-width: 0; padding: 22px; }
body .pc-refresh-shell .resume-asset-title { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
body .pc-refresh-shell .resume-asset-title h3 { overflow: hidden; margin: 5px 0 0; text-overflow: ellipsis; white-space: nowrap; }
body .pc-refresh-shell .resume-asset-status { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; }
body .pc-refresh-shell .resume-asset-status span { padding: 5px 8px; border: 1px solid #dce7f3; border-radius: 999px; color: #49617e; background: #f8fbff; font-size: 12px; }

@media (max-width: 820px) { body .pc-refresh-shell .resume-assets-grid, body .pc-refresh-shell .resume-asset-card { grid-template-columns: 1fr; } body .pc-refresh-shell .resume-asset-preview { min-height: 240px; border-radius: 17px 17px 0 0; } }

/* Design audit polish v115.1: fix over-compressed editor fields and mobile actions. */
.rv-editor.editor-deephire .basic-info-grid {
  grid-template-columns: 118px repeat(2, minmax(0, 1fr)) !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-name {
  grid-column: 2 / 4 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-gender,
.rv-editor.editor-deephire .basic-info-grid .basic-field-birth {
  grid-column: auto / span 1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-field-phone,
.rv-editor.editor-deephire .basic-info-grid .basic-field-wechat,
.rv-editor.editor-deephire .basic-info-grid .basic-field-email,
.rv-editor.editor-deephire .basic-info-grid .basic-field-city,
.rv-editor.editor-deephire .basic-info-grid .basic-field-job,
.rv-editor.editor-deephire .basic-info-grid .basic-field-age,
.rv-editor.editor-deephire .basic-info-grid .basic-field-major,
.rv-editor.editor-deephire .basic-info-grid .basic-field-company,
.rv-editor.editor-deephire .basic-info-grid .basic-field-ethnicity {
  grid-column: 1 / -1 !important;
}

.rv-editor.editor-deephire .basic-info-grid .basic-value-input,
.rv-editor.editor-deephire .basic-info-grid .basic-label-input {
  text-overflow: ellipsis !important;
}

@media (max-width: 760px) {
  .rv-editor.editor-deephire .editor-deephire-topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 8px !important;
  }

  .rv-editor.editor-deephire .editor-deephire-brand {
    flex: 0 0 auto !important;
  }

  .rv-editor.editor-deephire .editor-deephire-title {
    flex: 1 1 132px !important;
    min-width: 0 !important;
  }

  .rv-editor.editor-deephire .editor-deephire-topbar .publish-tools {
    flex: 0 0 100% !important;
    width: 100% !important;
    display: flex !important;
    overflow-x: auto !important;
    transform: none !important;
  }

  .rv-editor.editor-deephire .editor-deephire-tabs {
    overflow-x: auto !important;
    padding-right: 12px !important;
  }

  .rv-editor.editor-deephire .editor-deephire-tabs .rail-btn {
    min-width: 78px !important;
    width: auto !important;
    padding: 0 10px !important;
  }
}
/* ============================================================================
   DS-2026 · PC 视觉皮肤（v1.1.1 Apple 风）
   作用域：body.ds-2026（index.html 挂载）。整段可删除回滚。
   来源：redesign-preview/ 设计系统，令牌前缀 --ds-*
   ============================================================================ */
body.ds-2026 {
  /* 新令牌 */
  --ds-brand: #2563eb;
  --ds-brand-hover: #1d4ed8;
  --ds-brand-active: #1e40af;
  --ds-brand-soft: #eff4ff;
  --ds-brand-faint: #f7f9fe;
  --ds-brand-ring: rgba(37, 99, 235, 0.16);
  --ds-text: #1f2329;
  --ds-text-2: #4b5563;
  --ds-text-3: #8a94a6;
  --ds-bg-page: #f5f5f7;
  --ds-border: #e5e8ee;
  --ds-border-strong: #d3d9e2;
  --ds-divider: #eef0f4;
  --ds-member: #8a5a00;
  --ds-dark-bg: #0a0a0c;
  --ds-dark-panel: #161618;
  --ds-dark-border: #2c2c2e;
  --ds-dark-text: #f5f5f7;
  --ds-dark-muted: #a1a1a6;
  --ds-radius-pill: 980px;
  --ds-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 16px rgba(0, 0, 0, 0.04);
  --ds-shadow-raise: 0 4px 12px rgba(0, 0, 0, 0.06), 0 12px 32px rgba(0, 0, 0, 0.08);
  --ds-nav-bg: rgba(255, 255, 255, 0.72);
  --ds-nav-blur: saturate(180%) blur(20px);
  --ds-ease2: cubic-bezier(0.2, 0, 0, 1);
  /* 旧令牌重映射：单一品牌蓝 */
  --color-brand: #2563eb;
  --color-brand-hover: #1d4ed8;
  --color-brand-active: #1e40af;
  --color-brand-soft: #eff4ff;
  --color-brand-faint: #f7f9fe;
  --color-ai: #2563eb;
  --color-ai-soft: #eff4ff;
  --purple: #2563eb;
  --purple-dark: #1d4ed8;
  --purple-light: #eff4ff;
  --purple-faint: #f7f9fe;
  --boss-teal: #2563eb;
  --boss-teal-dark: #1d4ed8;
  --boss-teal-soft: #eff4ff;
  --boss-page: #f5f5f7;
  --bg: #f5f5f7;
  --focus-ring: 0 0 0 3px rgba(37, 99, 235, 0.16);
}
body.ds-2026 ::selection { background: #eff4ff; color: #1e40af; }

@keyframes dsFadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- 顶部导航 */
body.ds-2026 .app-shell .topbar,
body.ds-2026 .boss-cv-shell .topbar,
body.ds-2026 .rv-home-shell.boss-cv-shell .topbar {
  position: sticky; top: 0; z-index: 60;
  height: 64px; padding: 0 32px;
  background: var(--ds-nav-bg) !important;
  -webkit-backdrop-filter: var(--ds-nav-blur); backdrop-filter: var(--ds-nav-blur);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: none !important;
}
body.ds-2026 .boss-cv-shell .topbar.is-scrolled,
body.ds-2026 .rv-home-shell.boss-cv-shell .topbar.is-scrolled {
  background: rgba(255, 255, 255, 0.86) !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04) !important;
}
body.ds-2026 .topbar .brand-name { color: var(--ds-text) !important; font-weight: 600; letter-spacing: 0.5px; }
body.ds-2026 .topbar .helped { display: none !important; }
body.ds-2026 .topbar .brand-mark img { border-radius: 8px; }
body.ds-2026 .topbar .main-nav button {
  position: relative; height: 64px; padding: 0 16px; border-radius: 0;
  background: none !important; border: none !important; box-shadow: none !important;
  color: var(--ds-text-2) !important; font-size: 14px; font-weight: 400;
  transition: color 120ms var(--ds-ease2);
}
body.ds-2026 .topbar .main-nav button span { display: none !important; }
body.ds-2026 .topbar .main-nav button:hover { color: var(--ds-text) !important; }
body.ds-2026 .topbar .main-nav button.active { color: var(--ds-brand) !important; font-weight: 500; }
body.ds-2026 .topbar .main-nav button.active::after {
  content: ""; position: absolute; left: 16px; right: 16px; bottom: 0;
  height: 2px; border-radius: 1px; background: var(--ds-brand);
}
body.ds-2026 .topbar .top-actions .vip {
  background: none !important; border: none !important; box-shadow: none !important;
  color: var(--ds-member) !important; font-size: 14px; font-weight: 500; padding: 0 10px;
}
body.ds-2026 .topbar .top-actions .vip svg { display: none !important; }
body.ds-2026 .topbar .header-text-link { display: none !important; }
body.ds-2026 .topbar .login-entry {
  height: 34px; padding: 0 18px; border-radius: var(--ds-radius-pill) !important;
  background: #fff !important; border: 1px solid var(--ds-border-strong) !important;
  color: var(--ds-text) !important; font-size: 13px; font-weight: 500; box-shadow: none !important;
  transition: border-color 120ms var(--ds-ease2), color 120ms var(--ds-ease2), background 120ms var(--ds-ease2);
}
body.ds-2026 .topbar .login-entry:hover { border-color: var(--ds-brand) !important; color: var(--ds-brand) !important; background: var(--ds-brand-faint) !important; }

/* ---------------------------------------------------------------- 按钮桥接 */
body.ds-2026 button.primary,
body.ds-2026 .primary.green,
body.ds-2026 .rv-btn-primary,
body.ds-2026 .small-primary,
body.ds-2026 .export-submit,
body.ds-2026 .vip-plan-cta:not(.ghost) {
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 62%) !important;
  color: #fff !important; border: none !important;
  border-radius: var(--ds-radius-pill) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 1px 2px rgba(30, 64, 175, 0.24) !important;
  transition: box-shadow 200ms var(--ds-ease2), transform 200ms var(--ds-ease2), filter 120ms var(--ds-ease2);
}
body.ds-2026 button.primary:hover,
body.ds-2026 .primary.green:hover,
body.ds-2026 .rv-btn-primary:hover,
body.ds-2026 .small-primary:hover,
body.ds-2026 .export-submit:hover,
body.ds-2026 .vip-plan-cta:not(.ghost):hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 6px 20px rgba(37, 99, 235, 0.32) !important;
}
body.ds-2026 button.primary:active,
body.ds-2026 .primary.green:active { transform: none; filter: none; }
body.ds-2026 .outline,
body.ds-2026 .outline.green-outline,
body.ds-2026 .rv-btn-dark,
body.ds-2026 .ghost-btn {
  background: #fff !important; color: var(--ds-text) !important;
  border: 1px solid var(--ds-border-strong) !important;
  border-radius: var(--ds-radius-pill) !important; box-shadow: none !important;
  transition: border-color 120ms var(--ds-ease2), color 120ms var(--ds-ease2), background 120ms var(--ds-ease2);
}
body.ds-2026 .outline:hover,
body.ds-2026 .outline.green-outline:hover,
body.ds-2026 .rv-btn-dark:hover,
body.ds-2026 .ghost-btn:hover { border-color: var(--ds-brand) !important; color: var(--ds-brand) !important; background: var(--ds-brand-faint) !important; }

/* ---------------------------------------------------------------- 页面骨架 */
body.ds-2026 .app-shell.rv-marketing-shell,
body.ds-2026 .app-shell.pc-refresh-shell,
body.ds-2026 .app-shell.grid-bg { background: var(--ds-bg-page) !important; background-image: none !important; }

/* 工具页页头：去英文眉题与胶囊 meta，收紧到 32px 标题 */
body.ds-2026 .selection-page-header { padding: 40px 0 8px; background: none !important; border: none !important; box-shadow: none !important; }
body.ds-2026 .selection-page-header .selection-eyebrow,
body.ds-2026 .selection-page-header + * .selection-eyebrow,
body.ds-2026 .selection-header-meta { display: none !important; }
body.ds-2026 .selection-page-header h1 { font-size: 32px !important; font-weight: 600; letter-spacing: -0.3px; color: var(--ds-text); }
body.ds-2026 .selection-page-header p { font-size: 14px; color: var(--ds-text-2); }
body.ds-2026 .workspace-page-header .selection-eyebrow { display: none !important; }
body.ds-2026 .workspace-page-header h1 { font-size: 32px !important; font-weight: 600; letter-spacing: -0.3px; }

/* 筛选面板：白底浮起、胶囊选项 */
body.ds-2026 .selection-filter-panel,
body.ds-2026 .template-filter-strip {
  background: #fff !important; border: none !important;
  border-radius: 16px !important; box-shadow: var(--ds-shadow-sm) !important;
  padding: 8px 20px !important;
}
body.ds-2026 .filter-group + .filter-group { border-top: 1px solid var(--ds-divider); }
body.ds-2026 .filter-options button,
body.ds-2026 .filter-group button {
  border-radius: var(--ds-radius-pill) !important; border: none !important;
  background: none; color: var(--ds-text-2); box-shadow: none !important;
}
body.ds-2026 .filter-options button:hover { background: #f4f5f7 !important; color: var(--ds-text) !important; }
body.ds-2026 .filter-options button.active {
  background: var(--ds-brand-soft) !important; color: var(--ds-brand) !important; font-weight: 500;
}

/* 卡片桥接：无描边 + 弥散影 + hover 抬升 */
body.ds-2026 .catalog-card,
body.ds-2026 .selection-catalog-card,
body.ds-2026 .ai-sample-card,
body.ds-2026 .resume-asset-card,
body.ds-2026 .ai-sample-search-panel,
body.ds-2026 .analysis-public-score-card {
  background: #fff !important; border: none !important;
  border-radius: 16px !important; box-shadow: var(--ds-shadow-sm) !important;
  transition: box-shadow 200ms var(--ds-ease2), transform 200ms var(--ds-ease2);
}
body.ds-2026 .catalog-card:hover,
body.ds-2026 .ai-sample-card:hover,
body.ds-2026 .resume-asset-card:hover { box-shadow: var(--ds-shadow-raise) !important; transform: translateY(-3px); }
body.ds-2026 .resume-asset-card .more-menu,
body.ds-2026 .more-menu, body.ds-2026 .export-submenu, body.ds-2026 .file-menu, body.ds-2026 .module-more-menu {
  background: rgba(255, 255, 255, 0.92) !important;
  -webkit-backdrop-filter: var(--ds-nav-blur); backdrop-filter: var(--ds-nav-blur);
  border: 1px solid rgba(0, 0, 0, 0.06) !important; border-radius: 14px !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.10) !important;
}

/* 弹窗 */
body.ds-2026 .modal { border-radius: 18px !important; box-shadow: 0 16px 48px rgba(15, 23, 42, 0.18) !important; }
body.ds-2026 .modal-mask { background: rgba(15, 23, 42, 0.45) !important; }

/* 页脚（工具页 rv-footer 亮色化） */
body.ds-2026 .rv-footer { background: var(--ds-bg-page) !important; border-top: 1px solid rgba(0, 0, 0, 0.06); color: var(--ds-text-2) !important; }
body.ds-2026 .rv-footer b, body.ds-2026 .rv-footer strong { color: var(--ds-text) !important; }
body.ds-2026 .rv-footer span, body.ds-2026 .rv-footer p, body.ds-2026 .rv-footer a { color: var(--ds-text-2) !important; }
body.ds-2026 .rv-foot-bottom { border-top: 1px solid var(--ds-divider) !important; color: var(--ds-text-3) !important; }
body.ds-2026 .rv-foot-bottom span, body.ds-2026 .rv-foot-bottom a { color: var(--ds-text-3) !important; }
body.ds-2026 .rv-foot-bottom a:hover { color: var(--ds-brand) !important; }

/* 编辑器轻触：白色工具栏 + 毛玻璃缩放 */
body.ds-2026 .editor-deephire-topbar { background: #fff !important; border-bottom: 1px solid var(--ds-border) !important; box-shadow: none !important; }
body.ds-2026 .canvas-zoom-tools {
  background: rgba(255, 255, 255, 0.86) !important;
  -webkit-backdrop-filter: var(--ds-nav-blur); backdrop-filter: var(--ds-nav-blur);
  border: 1px solid rgba(0, 0, 0, 0.06) !important; border-radius: var(--ds-radius-pill) !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.10) !important;
}
body.ds-2026 .ai-coach-card { border: none !important; box-shadow: var(--ds-shadow-sm) !important; border-radius: 16px !important; }

/* ============================================================ 新首页 dsh-* */
.dsh-wrap { max-width: 1264px; margin: 0 auto; padding: 0 32px; }
.dsh-home { background: #fff; color: var(--ds-text); font-size: 14px; line-height: 1.65; }
.dsh-home main { display: block; }

.dsh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 48px; padding: 0 32px; border-radius: var(--ds-radius-pill);
  font-size: 16px; font-weight: 500; white-space: nowrap; cursor: pointer;
  transition: box-shadow 200ms var(--ds-ease2), transform 200ms var(--ds-ease2),
              border-color 120ms var(--ds-ease2), color 120ms var(--ds-ease2),
              background 120ms var(--ds-ease2), filter 120ms var(--ds-ease2);
}
.dsh-btn-md { height: 40px; padding: 0 22px; font-size: 14px; }
.dsh-btn-primary {
  color: #fff; border: none;
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 62%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 1px 2px rgba(30, 64, 175, 0.24);
}
.dsh-btn-primary:hover {
  filter: brightness(1.05); transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 6px 20px rgba(37, 99, 235, 0.32);
}
.dsh-btn-outline { background: #fff; border: 1px solid var(--ds-border-strong); color: var(--ds-text); }
.dsh-btn-outline:hover { border-color: var(--ds-brand); color: var(--ds-brand); background: var(--ds-brand-faint); }

/* Hero */
.dsh-hero {
  position: relative; padding: 88px 0 72px; text-align: center; overflow: hidden;
  background:
    radial-gradient(58% 46% at 50% -6%, rgba(37, 99, 235, 0.08), transparent 70%),
    radial-gradient(34% 30% at 82% 4%, rgba(6, 182, 212, 0.05), transparent 70%),
    #fff;
}
.dsh-chip {
  display: inline-flex; align-items: center; gap: 6px;
  height: 30px; padding: 0 14px; margin-bottom: 20px;
  border-radius: var(--ds-radius-pill);
  background: rgba(37, 99, 235, 0.07); border: 1px solid rgba(37, 99, 235, 0.16);
  font-size: 13px; font-weight: 500; color: var(--ds-brand);
}
.dsh-chip svg { width: 13px; height: 13px; }
.dsh-hero h1 { font-size: 56px; line-height: 1.12; font-weight: 700; letter-spacing: -1.2px; color: var(--ds-text); }
.dsh-hero h1 em {
  font-style: normal;
  background: linear-gradient(92deg, #2563eb 10%, #0ea5e9 55%, #06b6d4 90%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dsh-lead { margin: 20px auto 0; font-size: 20px; line-height: 1.6; color: var(--ds-text-2); max-width: 620px; }
.dsh-hero-actions { display: flex; gap: 16px; margin-top: 32px; justify-content: center; }
.dsh-micro { margin-top: 16px; font-size: 13px; color: var(--ds-text-3); }
.dsh-micro b { color: #d97706; font-weight: 600; letter-spacing: 1px; }
.dsh-micro i { font-style: normal; color: var(--ds-border-strong); margin: 0 8px; }
.dsh-steps { display: flex; gap: 40px; margin-top: 40px; justify-content: center; }
.dsh-steps div { font-size: 13px; color: var(--ds-text-2); }
.dsh-steps b { display: block; font-size: 12px; color: var(--ds-text-3); font-weight: 500; margin-bottom: 2px; font-variant-numeric: tabular-nums; }

/* Hero 产品画面 */
.dsh-stage { position: relative; max-width: 980px; margin: 48px auto 0; }
.dsh-stage::before {
  content: ""; position: absolute; left: 8%; right: 8%; bottom: -28px; height: 120px;
  background: radial-gradient(50% 100% at 50% 100%, rgba(37, 99, 235, 0.22), transparent 72%);
  filter: blur(24px); pointer-events: none;
}
.dsh-frame {
  position: relative; text-align: left; border-radius: 18px; background: #fff; overflow: hidden;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8),
              0 2px 8px rgba(0, 0, 0, 0.04), 0 32px 88px rgba(10, 30, 80, 0.16);
}
.dsh-frame-bar {
  display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px;
  border-bottom: 1px solid var(--ds-divider);
  background: linear-gradient(180deg, #fbfbfd 0%, #f4f5f8 100%);
  font-size: 12px; color: var(--ds-text-2);
}
.dsh-lights { display: flex; gap: 6px; margin-right: 12px; }
.dsh-lights i { width: 10px; height: 10px; border-radius: 50%; }
.dsh-lights i:nth-child(1) { background: #ff5f57; }
.dsh-lights i:nth-child(2) { background: #febc2e; }
.dsh-lights i:nth-child(3) { background: #28c840; }
.dsh-frame-bar .doc { font-weight: 500; color: var(--ds-text); }
.dsh-frame-bar .save { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; color: var(--ds-text-3); }
.dsh-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #16a34a; }
.dsh-frame-body { display: grid; grid-template-columns: 1fr 264px; }
.dsh-frame-shot { padding: 16px 0 0 16px; background: #eef1f5; }
.dsh-frame-shot img {
  display: block; width: 100%; border-radius: 3px 3px 0 0;
  aspect-ratio: 680 / 700; object-fit: cover; object-position: top;
  border: 1px solid var(--ds-divider); border-bottom: 0;
}
.dsh-frame-ai { border-left: 1px solid var(--ds-divider); padding: 16px; display: flex; flex-direction: column; gap: 12px; background: #fff; }
.dsh-frame-ai .hd { font-size: 12px; font-weight: 600; color: var(--ds-text-2); display: flex; align-items: center; gap: 6px; }
.dsh-frame-ai .hd svg { width: 14px; height: 14px; color: var(--ds-brand); }
.dsh-frame-ai .blk { position: relative; border: 1px solid var(--ds-divider); border-radius: 10px; padding: 10px; font-size: 12px; line-height: 1.6; color: var(--ds-text); }
.dsh-frame-ai .blk b { display: block; font-size: 11px; font-weight: 500; margin-bottom: 4px; color: var(--ds-text-3); }
.dsh-frame-ai .blk.after { border-color: transparent; background: var(--ds-brand-faint); }
.dsh-frame-ai .blk.after::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.5), rgba(6, 182, 212, 0.4));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.dsh-frame-ai .blk.after b { color: var(--ds-brand); }
.dsh-frame-ai .score { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: var(--ds-text-2); margin-top: auto; padding-top: 8px; border-top: 1px solid var(--ds-divider); }
.dsh-frame-ai .score b { color: #16a34a; font-size: 14px; }
.dsh-demo-toggle,
.dsh-demo-status,
.dsh-demo-progress,
.dsh-scan-overlay { display: none; }

/* 数据带 */
.dsh-stats { display: flex; align-items: center; padding: 64px 0 32px; }
.dsh-stats .st { flex: 1; text-align: center; }
.dsh-stats .st b {
  display: block; font-size: 44px; font-weight: 700; letter-spacing: -1px; font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #1f2329 30%, #4b5563 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.dsh-stats .st span { font-size: 14px; color: var(--ds-text-3); }
.dsh-stats .vr { width: 1px; height: 48px; background: var(--ds-divider); }

/* 分区 */
.dsh-band { padding: 96px 0; }
.dsh-band-gray { background: var(--ds-bg-page); }
.dsh-band-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.dsh-eyebrow { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 600; letter-spacing: 0.12em; color: var(--ds-brand); }
.dsh-band-head h2 { font-size: 40px; font-weight: 700; letter-spacing: -0.8px; line-height: 1.2; color: var(--ds-text); }
.dsh-band-head .sub { margin-top: 12px; font-size: 16px; color: var(--ds-text-2); }
.dsh-band-foot { text-align: center; margin-top: 32px; }

/* 模板区 */
.dsh-tabs { display: flex; gap: 4px; margin-bottom: 24px; justify-content: center; flex-wrap: wrap; }
.dsh-tabs button {
  height: 34px; padding: 0 16px; border-radius: var(--ds-radius-pill);
  border: none; background: none; cursor: pointer; font-size: 13px; color: var(--ds-text-2);
  transition: background 120ms var(--ds-ease2), color 120ms var(--ds-ease2);
}
.dsh-tabs button:hover { background: rgba(0, 0, 0, 0.05); color: var(--ds-text); }
.dsh-tabs button.active { background: var(--ds-brand-soft); color: var(--ds-brand); font-weight: 500; }
.dsh-tpl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.dsh-tpl-card {
  background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--ds-shadow-sm); cursor: pointer;
  border: none; padding: 0; text-align: left; font: inherit;
  transition: box-shadow 200ms var(--ds-ease2), transform 200ms var(--ds-ease2);
}
.dsh-tpl-card:hover { box-shadow: var(--ds-shadow-raise); transform: translateY(-3px); }
.dsh-tpl-shot {
  position: relative; overflow: hidden; padding: 16px 16px 0;
  background: linear-gradient(160deg, #eef1f6 0%, #e6eaf1 100%);
  border-bottom: 1px solid var(--ds-divider);
}
.dsh-tpl-shot img {
  display: block; width: 100%; aspect-ratio: 680 / 840; object-fit: cover; object-position: top;
  border-radius: 6px 6px 0 0;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06), 0 10px 28px rgba(15, 23, 42, 0.10);
  transition: transform 280ms var(--ds-ease2);
}
.dsh-tpl-card:hover .dsh-tpl-shot img { transform: translateY(-4px); }
.dsh-tpl-info { padding: 12px 16px 16px; }
.dsh-tpl-info .r1 { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dsh-tpl-info h3 { font-size: 15px; font-weight: 600; margin: 0; color: var(--ds-text); }
.dsh-tpl-price { font-size: 12px; color: var(--ds-text-3); }
.dsh-tpl-price.is-vip { color: var(--ds-member); }
.dsh-tpl-meta { margin-top: 4px; font-size: 12px; color: var(--ds-text-3); display: flex; gap: 6px; flex-wrap: wrap; }
.dsh-tpl-meta span + span::before { content: "·"; margin-right: 6px; color: var(--ds-border-strong); }

/* 深色 AI 区 */
.dsh-dark {
  position: relative; overflow: hidden; padding: 104px 0; color: var(--ds-dark-text);
  background:
    radial-gradient(46% 60% at 50% 0%, rgba(37, 99, 235, 0.16), transparent 68%),
    radial-gradient(30% 42% at 88% 92%, rgba(6, 182, 212, 0.07), transparent 70%),
    var(--ds-dark-bg);
}
.dsh-dark .dsh-band-head h2 { color: var(--ds-dark-text); }
.dsh-dark .dsh-band-head .sub { color: var(--ds-dark-muted); }
.dsh-dark .dsh-eyebrow { color: #64a2ff; }
.dsh-dark-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.dsh-dark-card {
  display: block; text-align: left; font: inherit; cursor: pointer;
  background: var(--ds-dark-panel); border: 1px solid var(--ds-dark-border);
  border-radius: 18px; padding: 24px;
  transition: transform 200ms var(--ds-ease2), border-color 200ms var(--ds-ease2);
}
.dsh-dark-card:hover { transform: translateY(-3px); border-color: #3f3f46; }
.dsh-dark-card svg {
  width: 40px; height: 40px; padding: 9px; margin-bottom: 16px;
  color: #7db4ff; border-radius: 12px; box-sizing: border-box;
  background: linear-gradient(150deg, rgba(37, 99, 235, 0.28), rgba(37, 99, 235, 0.10));
  box-shadow: inset 0 0 0 1px rgba(125, 180, 255, 0.22);
}
.dsh-dark-card h3 { font-size: 16px; font-weight: 600; color: var(--ds-dark-text); margin: 0 0 6px; }
.dsh-dark-card p { font-size: 13px; color: var(--ds-dark-muted); line-height: 1.6; margin: 0; }
.dsh-dark-card .go { display: inline-block; margin-top: 16px; font-size: 13px; color: #64a2ff; }
.dsh-dark-demo {
  grid-column: 1 / -1; margin-top: 8px; position: relative;
  background: linear-gradient(180deg, #19191c 0%, #161618 100%);
  border: 1px solid transparent; border-radius: 18px; padding: 24px 32px;
  display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center;
}
.dsh-dark-demo::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(120deg, rgba(37, 99, 235, 0.55), rgba(44, 44, 46, 0.6) 40%, rgba(6, 182, 212, 0.4));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.dsh-dark-demo .cell b { display: block; font-size: 12px; font-weight: 500; color: var(--ds-dark-muted); margin-bottom: 8px; }
.dsh-dark-demo .cell p { font-size: 14px; line-height: 1.7; color: #d1d1d6; margin: 0; }
.dsh-dark-demo .cell.after b { color: #64a2ff; }
.dsh-dark-demo .cell.after p { color: var(--ds-dark-text); }
.dsh-dark-demo .arrow {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(37, 99, 235, 0.18); box-shadow: inset 0 0 0 1px rgba(125, 180, 255, 0.3);
}
.dsh-dark-demo .arrow span { color: #7db4ff; font-size: 17px; }

/* 流程 */
.dsh-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.dsh-flow > div { position: relative; }
.dsh-flow > div:not(:last-child)::after {
  content: ""; position: absolute; top: 16px; left: 48px; right: -8px;
  border-top: 1px dashed var(--ds-border-strong);
}
.dsh-flow b {
  position: relative; z-index: 1; display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 11px; margin-bottom: 12px;
  font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums;
  background: #fff; color: var(--ds-text-3); box-shadow: inset 0 0 0 1px var(--ds-border-strong);
}
.dsh-flow > div.on b {
  background: linear-gradient(180deg, #3b82f6, #2563eb); color: #fff;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.32);
}
.dsh-flow h3 { font-size: 16px; font-weight: 600; margin: 0 0 4px; color: var(--ds-text); }
.dsh-flow p { font-size: 13px; color: var(--ds-text-2); margin: 0; }

/* 分析预览 */
.dsh-ana { display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: center; }
.dsh-ana-copy h2 { font-size: 40px; font-weight: 700; letter-spacing: -0.8px; color: var(--ds-text); margin: 0; }
.dsh-ana-copy .dsh-eyebrow { text-align: left; }
.dsh-ana-copy > p { margin: 12px 0 0; font-size: 14px; color: var(--ds-text-2); max-width: 420px; }
.dsh-ana-copy ul { margin: 20px 0; padding: 0; list-style: none; }
.dsh-ana-copy li { display: flex; gap: 10px; padding: 8px 0; font-size: 14px; color: var(--ds-text-2); }
.dsh-ana-copy li svg { width: 18px; height: 18px; color: #16a34a; flex-shrink: 0; margin-top: 3px; }
.dsh-ana-panel { background: #fff; box-shadow: var(--ds-shadow-sm); border-radius: 18px; padding: 24px; }
.dsh-ana-panel .hd { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; }
.dsh-ana-panel .hd span { font-size: 13px; color: var(--ds-text-2); }
.dsh-ana-panel .hd b { font-size: 32px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ds-text); }
.dsh-ana-panel .hd b i { font-style: normal; font-size: 13px; font-weight: 400; color: var(--ds-text-3); }
.dsh-meter { display: grid; grid-template-columns: 64px 1fr 32px; align-items: center; gap: 12px; padding: 7px 0; }
.dsh-meter .lb { font-size: 13px; color: var(--ds-text-2); }
.dsh-meter .bar { height: 6px; border-radius: 3px; background: var(--ds-divider); overflow: hidden; }
.dsh-meter .bar i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #2563eb, #22b8ea); }
.dsh-meter .val { font-size: 13px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; color: var(--ds-text); }
.dsh-meter.warn .bar i { background: linear-gradient(90deg, #f59e0b, #d97706); }
.dsh-meter.warn .val { color: #d97706; }

/* 评价 */
.dsh-quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 48px; }
.dsh-quotes figure { position: relative; padding: 8px 0 0 32px; margin: 0; }
.dsh-quotes figure::before {
  content: "\201C"; position: absolute; left: 0; top: -6px;
  font-size: 44px; line-height: 1; font-weight: 700; color: rgba(37, 99, 235, 0.28);
  font-family: Georgia, serif;
}
.dsh-quotes blockquote { font-size: 15px; line-height: 1.8; color: var(--ds-text); margin: 0; }
.dsh-quotes figcaption { display: flex; align-items: center; gap: 10px; margin-top: 16px; font-size: 13px; color: var(--ds-text-3); }
.dsh-quotes .av {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 600; color: var(--ds-brand); background: var(--ds-brand-soft);
}
.dsh-quotes figcaption b { color: var(--ds-text-2); font-weight: 500; }

/* 尾部 CTA */
.dsh-cta {
  text-align: center; padding: 112px 0 40px;
  background: radial-gradient(50% 70% at 50% 108%, rgba(37, 99, 235, 0.10), transparent 70%);
}
.dsh-cta h2 { font-size: 40px; font-weight: 700; letter-spacing: -0.8px; color: var(--ds-text); margin: 0; }
.dsh-cta p { margin: 16px 0 32px; font-size: 16px; color: var(--ds-text-2); }

/* 首页页脚 */
.dsh-footer { background: var(--ds-bg-page); border-top: 1px solid rgba(0, 0, 0, 0.06); margin-top: 40px; }
.dsh-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; padding: 48px 0 32px; }
.dsh-footer-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.dsh-footer-brand img { width: 28px; height: 28px; border-radius: 7px; }
.dsh-footer-brand b { font-size: 15px; color: var(--ds-text); }
.dsh-footer-grid p { font-size: 13px; color: var(--ds-text-3); max-width: 260px; margin: 0; }
.dsh-footer-col b { display: block; font-size: 13px; font-weight: 600; margin-bottom: 12px; color: var(--ds-text); }
.dsh-footer-col span, .dsh-footer-col button {
  display: block; font-size: 13px; color: var(--ds-text-2); padding: 4px 0;
  background: none; border: none; cursor: pointer; text-align: left; font-family: inherit;
}
.dsh-footer-col button:hover { color: var(--ds-brand); }
.dsh-footer-bottom {
  display: flex; align-items: center; gap: 20px;
  border-top: 1px solid var(--ds-divider); padding: 16px 0 20px;
  font-size: 12px; color: var(--ds-text-3);
}
.dsh-footer-bottom a { color: var(--ds-text-3); text-decoration: none; }
.dsh-footer-bottom a:hover { color: var(--ds-brand); }
.dsh-footer-bottom .ver { margin-left: auto; }

/* 入场动画 + 滚动渐现 */
@media (prefers-reduced-motion: no-preference) {
  .dsh-chip, .dsh-hero h1, .dsh-lead, .dsh-hero-actions, .dsh-micro, .dsh-stage, .dsh-steps {
    animation: dsFadeUp 0.7s var(--ds-ease2) both;
  }
  .dsh-hero h1 { animation-delay: 60ms; }
  .dsh-lead { animation-delay: 130ms; }
  .dsh-hero-actions { animation-delay: 200ms; }
  .dsh-micro { animation-delay: 260ms; }
  .dsh-stage { animation-delay: 340ms; animation-duration: 0.9s; }
  .dsh-steps { animation-delay: 480ms; }
  .dsh-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s var(--ds-ease2), transform 0.7s var(--ds-ease2); }
  .dsh-reveal.is-in { opacity: 1; transform: none; }
}

/* 1280 收敛 */
@media (max-width: 1359px) {
  .dsh-hero h1 { font-size: 48px; }
  .dsh-band-head h2, .dsh-ana-copy h2, .dsh-cta h2 { font-size: 34px; }
  .dsh-stats .st b { font-size: 36px; }
}
/* ============================================================================
   DS-2026 补丁层 v120 · 修复 2026-07-15 线上走查 24 项问题
   原因：旧皮肤多类组合选择器（.pc-refresh-shell/.rv-*）优先级高于 body.ds-2026 单类前缀，
   本层用同等前缀 + !important 定向覆盖。整段可随 ds-2026 一起回滚。
   ============================================================================ */

/* ---------- P0-7 / P2-2 顶栏全站统一 64px ---------- */
body.ds-2026 .app-shell .topbar {
  height: 64px !important; min-height: 64px !important; padding: 0 32px !important;
}
body.ds-2026 .topbar .brand { gap: 10px !important; }
body.ds-2026 .topbar .brand-mark,
body.ds-2026 .topbar .brand-mark img { width: 32px !important; height: 32px !important; border-radius: 8px !important; box-shadow: none !important; }
body.ds-2026 .topbar .brand-name { font-size: 16px !important; font-weight: 600 !important; letter-spacing: 0.5px !important; }
body.ds-2026 .topbar .main-nav { gap: 4px !important; }
body.ds-2026 .topbar .main-nav button { height: 64px !important; padding: 0 16px !important; font-size: 14px !important; }
body.ds-2026 .topbar .top-actions { gap: 12px !important; }
body.ds-2026 .topbar .top-actions .vip { color: var(--ds-text-2) !important; font-weight: 400 !important; }
body.ds-2026 .topbar .top-actions .vip:hover { color: var(--ds-member) !important; }
body.ds-2026 .topbar .avatar-caret { display: none !important; }
body.ds-2026 .topbar .avatar,
body.ds-2026 .topbar .visual-avatar { box-shadow: none !important; }
body.ds-2026 .topbar .visual-avatar img { width: 30px !important; height: 30px !important; }

/* ---------- P0-1 首页白/灰分区节奏（压过 .app-shell 多类组合底色） ---------- */
body.ds-2026 .app-shell.dsh-home { background: #fff !important; background-image: none !important; }
body.ds-2026 .dsh-home main > section { background: transparent; }
body.ds-2026 .dsh-home .dsh-hero {
  background:
    radial-gradient(58% 46% at 50% -6%, rgba(37, 99, 235, 0.08), transparent 70%),
    radial-gradient(34% 30% at 82% 4%, rgba(6, 182, 212, 0.05), transparent 70%),
    #fff !important;
}
body.ds-2026 .dsh-home .dsh-band-gray { background: #f5f5f7 !important; }
body.ds-2026 .dsh-home .dsh-dark {
  background:
    radial-gradient(46% 60% at 50% 0%, rgba(37, 99, 235, 0.16), transparent 68%),
    radial-gradient(30% 42% at 88% 92%, rgba(6, 182, 212, 0.07), transparent 70%),
    #0a0a0c !important;
}
body.ds-2026 .dsh-home .dsh-cta {
  background: radial-gradient(50% 70% at 50% 108%, rgba(37, 99, 235, 0.10), transparent 70%) !important;
}
body.ds-2026 .dsh-footer { background: #f5f5f7 !important; }

/* ---------- P1-1 / P2-4 Hero 文案断行与节奏 ---------- */
body.ds-2026 .dsh-lead { max-width: 640px !important; text-wrap: balance; }
body.ds-2026 .dsh-steps { margin-top: 56px !important; }

/* ---------- P1-2 Hero 产品画面右栏平衡 ---------- */
body.ds-2026 .dsh-frame-shot img { aspect-ratio: 680 / 520 !important; }
.dsh-frame-ai .kw { display: flex; flex-wrap: wrap; gap: 6px; }
.dsh-frame-ai .kw b { flex: 0 0 100%; font-size: 11px; font-weight: 500; color: var(--ds-text-3); margin-bottom: 2px; }
.dsh-frame-ai .kw span {
  height: 22px; display: inline-flex; align-items: center; padding: 0 9px;
  border-radius: 980px; background: #eff4ff; color: #2563eb; font-size: 11px;
}

/* ---------- P2-3 深色区图标笔画 ---------- */
body.ds-2026 .dsh-dark-card svg {
  width: 44px !important; height: 44px !important; padding: 10px !important;
  stroke-width: 2px; color: #9cc3ff !important;
}

/* ---------- P0-2 工具页页头空白收紧 ---------- */
body.ds-2026 .template-page,
body.ds-2026 .ai-page,
body.ds-2026 .mine-main,
body.ds-2026 .analysis-public-page { padding-top: 12px !important; margin-top: 0 !important; }
body.ds-2026 .selection-page-header,
body.ds-2026 .workspace-page-header { margin: 20px 0 20px !important; padding: 0 !important; min-height: 0 !important; }
body.ds-2026 .selection-page-header h1,
body.ds-2026 .workspace-page-header h1,
body.ds-2026 .workspace-page-header .title-row h1 {
  font-size: 32px !important; font-weight: 600 !important; letter-spacing: -0.3px !important;
  line-height: 1.3 !important; margin: 0 0 6px !important;
}
body.ds-2026 .selection-page-header p,
body.ds-2026 .workspace-page-header p { font-size: 14px !important; line-height: 1.65 !important; }
body.ds-2026 .workspace-page-header .count { font-size: 14px !important; font-weight: 400 !important; color: var(--ds-text-3) !important; }

/* ---------- P0-3 模板库筛选器紧凑化 ---------- */
body.ds-2026 .pc-refresh-shell .selection-filter-panel,
body.ds-2026 .selection-filter-panel {
  display: flex !important; flex-direction: column !important; gap: 0 !important;
  margin: 0 0 24px !important; padding: 6px 20px !important;
  border: none !important; border-radius: 16px !important;
  background: #fff !important; box-shadow: var(--ds-shadow-sm) !important;
}
body.ds-2026 .selection-filter-panel .filter-group {
  display: flex !important; align-items: center !important; gap: 12px !important;
  grid-template-columns: none !important; padding: 8px 0 !important;
}
body.ds-2026 .selection-filter-panel .filter-group + .filter-group { border-top: 1px solid var(--ds-divider) !important; }
body.ds-2026 .selection-filter-panel .filter-title {
  flex: 0 0 44px !important; margin: 0 !important; padding: 0 !important;
  font-size: 13px !important; font-weight: 400 !important; color: var(--ds-text-3) !important;
}
body.ds-2026 .selection-filter-panel .filter-title::before,
body.ds-2026 .selection-filter-panel .filter-title::after { display: none !important; content: none !important; }
body.ds-2026 .selection-filter-panel .filter-options { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
body.ds-2026 .selection-filter-panel .filter-options button {
  height: 28px !important; min-height: 28px !important; padding: 0 12px !important;
  border: none !important; background: none !important; box-shadow: none !important;
  border-radius: 980px !important; color: var(--ds-text-2) !important;
  font-size: 13px !important; font-weight: 400 !important;
}
body.ds-2026 .selection-filter-panel .filter-options button:hover { background: #f4f5f7 !important; color: var(--ds-text) !important; }
body.ds-2026 .selection-filter-panel .filter-options button.active {
  background: var(--ds-brand-soft) !important; color: var(--ds-brand) !important; font-weight: 500 !important;
}

/* ---------- P1-3 模板库双标题冗余 ---------- */
body.ds-2026 .template-page .selection-results-head { display: none !important; }
body.ds-2026 .template-page .template-content { padding: 0 !important; }
body.ds-2026 .template-page .template-layout { border: none !important; background: none !important; box-shadow: none !important; }

/* ---------- P0-6 / P1-4 / P1-5 / T5 模板卡 ---------- */
body.ds-2026 .catalog-card,
body.ds-2026 .selection-catalog-card { padding: 0 !important; overflow: hidden !important; }
body.ds-2026 .template-page .catalog-card.active,
body.ds-2026 .template-page .selection-catalog-card.active {
  border: none !important; outline: none !important; box-shadow: var(--ds-shadow-sm) !important;
}
body.ds-2026 .template-page .catalog-card.active:hover { box-shadow: var(--ds-shadow-raise) !important; }
body.ds-2026 .catalog-preview { border-radius: 0 !important; }
body.ds-2026 .catalog-meta { padding: 12px 16px 16px !important; }
body.ds-2026 .catalog-title-line h3 { font-size: 15px !important; font-weight: 600 !important; }
body.ds-2026 .catalog-title-line p { font-size: 12px !important; color: var(--ds-text-3) !important; margin: 2px 0 0 !important; }
body.ds-2026 .catalog-access {
  min-height: 0 !important; height: auto !important; padding: 0 !important;
  border: none !important; background: none !important; box-shadow: none !important;
  color: var(--ds-text-3) !important; font-size: 12px !important; font-weight: 500 !important;
}
body.ds-2026 .catalog-access.vip { color: var(--ds-member) !important; }
body.ds-2026 .catalog-tags { gap: 6px !important; margin-top: 6px !important; }
body.ds-2026 .catalog-tags span {
  min-height: 0 !important; height: auto !important; padding: 0 !important;
  border: none !important; background: none !important;
  color: var(--ds-text-3) !important; font-size: 12px !important; font-weight: 400 !important;
}
body.ds-2026 .catalog-tags span + span::before { content: "·"; margin-right: 6px; color: var(--ds-border-strong); }
body.ds-2026 .catalog-actions { display: flex !important; align-items: center !important; gap: 8px !important; margin-top: 12px !important; }
body.ds-2026 .catalog-actions .outline,
body.ds-2026 .catalog-actions .primary {
  flex: 1 1 0 !important; height: 34px !important; min-height: 34px !important; max-width: none !important;
  padding: 0 12px !important; font-size: 13px !important;
}
body.ds-2026 .favorite-mini {
  flex: 0 0 34px !important; width: 34px !important; height: 34px !important; min-height: 34px !important;
  border-radius: 980px !important; border: 1px solid var(--ds-border-strong) !important;
  background: #fff !important; color: var(--ds-text-3) !important; box-shadow: none !important;
}
body.ds-2026 .favorite-mini:hover { color: #d97706 !important; border-color: #ecc98f !important; }
body.ds-2026 .favorite-mini.is-favorite { color: #d97706 !important; border-color: #f2d5a4 !important; background: #fdf7ec !important; }

/* ---------- P1-7 岗位范文搜索区 ---------- */
body.ds-2026 .ai-sample-search-panel { display: block !important; padding: 20px !important; border-radius: 16px !important; }
body.ds-2026 .ai-sample-search-row { display: flex !important; gap: 12px !important; align-items: center !important; }
body.ds-2026 .ai-sample-search-input {
  flex: 1 1 auto !important; width: auto !important; max-width: 560px !important;
  height: 40px !important; font-size: 14px !important; border-radius: 10px !important;
  border: 1px solid var(--ds-border-strong) !important; background: #fff !important; box-shadow: none !important;
}
body.ds-2026 .ai-sample-search-input:focus { border-color: var(--ds-brand) !important; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16) !important; }
body.ds-2026 .ai-sample-search-row .primary { flex: 0 0 auto !important; height: 40px !important; padding: 0 22px !important; }
body.ds-2026 .ai-sample-examples { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 12px 0 0 !important; }
body.ds-2026 .ai-sample-examples::before { content: "热门岗位："; align-self: center; font-size: 12px; color: var(--ds-text-3); }
body.ds-2026 .ai-sample-examples button {
  height: 26px !important; min-height: 26px !important; padding: 0 10px !important;
  border: 1px solid var(--ds-border) !important; border-radius: 980px !important;
  background: #fff !important; color: var(--ds-text-2) !important; font-size: 12px !important; box-shadow: none !important;
}
body.ds-2026 .ai-sample-examples button:hover { border-color: var(--ds-brand) !important; color: var(--ds-brand) !important; }

/* ---------- P0-4 岗位范文结果卡：横向布局 + 操作常驻 ---------- */
body.ds-2026 .ai-sample-results-head { margin: 32px 0 16px !important; border: none !important; }
body.ds-2026 .ai-sample-results-head h2 { font-size: 18px !important; font-weight: 600 !important; }
body.ds-2026 .ai-sample-results-head h2 span { font-size: 13px !important; font-weight: 400 !important; color: var(--ds-text-3) !important; }
body.ds-2026 .ai-sample-grid { display: flex !important; flex-direction: column !important; gap: 16px !important; grid-template-columns: none !important; }
body.ds-2026 .ai-sample-card {
  display: grid !important; grid-template-columns: 148px minmax(0, 1fr) !important; grid-template-rows: none !important;
  gap: 20px !important; padding: 16px !important; height: auto !important; min-height: 0 !important;
  overflow: visible !important; border-radius: 16px !important;
}
body.ds-2026 .ai-sample-thumb {
  width: 148px !important; height: 200px !important; overflow: hidden !important;
  border: 1px solid var(--ds-divider) !important; border-radius: 8px !important;
  background: var(--ds-bg-soft) !important; box-shadow: none !important;
}
body.ds-2026 .ai-sample-card-body {
  display: flex !important; flex-direction: column !important; align-items: stretch !important;
  min-width: 0 !important; padding: 4px 0 !important;
}
body.ds-2026 .ai-sample-rank { display: none !important; }
body.ds-2026 .ai-sample-card-body h3 { font-size: 16px !important; font-weight: 600 !important; margin: 0 !important; color: var(--ds-text) !important; }
body.ds-2026 .ai-sample-card-body > p {
  display: block !important; margin: 6px 0 0 !important; max-width: 680px;
  font-size: 13px !important; line-height: 1.65 !important; color: var(--ds-text-2) !important;
}
body.ds-2026 .ai-sample-meta { display: flex !important; gap: 6px !important; margin: 8px 0 0 !important; }
body.ds-2026 .ai-sample-meta span {
  min-height: 0 !important; padding: 0 !important; border: none !important; background: none !important;
  font-size: 12px !important; color: var(--ds-text-3) !important;
}
body.ds-2026 .ai-sample-meta span + span::before { content: "·"; margin-right: 6px; color: var(--ds-border-strong); }
body.ds-2026 .ai-sample-tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin: 10px 0 0 !important; }
body.ds-2026 .ai-sample-tags span {
  height: 24px !important; min-height: 24px !important; display: inline-flex !important; align-items: center !important;
  padding: 0 10px !important; border: none !important; border-radius: 980px !important;
  background: #f4f5f7 !important; color: var(--ds-text-2) !important; font-size: 12px !important; font-weight: 400 !important;
}
body.ds-2026 .ai-sample-actions {
  position: static !important; display: flex !important; gap: 8px !important; justify-content: flex-end !important;
  margin-top: auto !important; padding-top: 12px !important;
  opacity: 1 !important; visibility: visible !important; transform: none !important;
  background: none !important; border: none !important; box-shadow: none !important; inset: auto !important;
}
body.ds-2026 .ai-sample-actions .outline,
body.ds-2026 .ai-sample-actions .primary {
  flex: 0 0 auto !important; height: 32px !important; min-height: 32px !important;
  padding: 0 16px !important; font-size: 13px !important;
}
/* P2-5 范文页底部空洞 */
body.ds-2026 .ai-page,
body.ds-2026 .ai-overview,
body.ds-2026 .ai-sample-results { min-height: 0 !important; }
body.ds-2026 .ai-page { padding-bottom: 56px !important; }

/* ---------- P0-5 简历分析页整页去营销化 ---------- */
body.ds-2026 .analysis-public-page { max-width: 1264px; margin: 0 auto; padding-left: 32px !important; padding-right: 32px !important; }
body.ds-2026 .rv-analysis-public .analysis-public-hero { gap: 24px !important; align-items: stretch !important; }
body.ds-2026 .rv-analysis-public .analysis-public-copy {
  border: none !important; border-radius: 16px !important; padding: 32px !important;
  background: #fff !important; box-shadow: var(--ds-shadow-sm) !important;
}
body.ds-2026 .rv-analysis-public .analysis-public-kicker { display: none !important; }
body.ds-2026 .rv-analysis-public h1 {
  max-width: none !important; margin: 0 0 10px !important;
  font-size: 32px !important; font-weight: 600 !important; line-height: 1.3 !important;
  letter-spacing: -0.3px !important; color: var(--ds-text) !important;
}
body.ds-2026 .rv-analysis-public .analysis-public-copy p { font-size: 14px !important; line-height: 1.7 !important; color: var(--ds-text-2) !important; }
body.ds-2026 .analysis-public-actions { gap: 12px !important; margin-top: 20px !important; }
body.ds-2026 .analysis-public-actions button { height: 40px !important; min-height: 40px !important; padding: 0 22px !important; font-size: 14px !important; }
body.ds-2026 .analysis-public-metrics { gap: 8px !important; margin-top: 24px !important; }
body.ds-2026 .analysis-public-metrics span {
  min-height: 26px !important; padding: 0 12px !important; border: none !important;
  border-radius: 980px !important; background: #f4f5f7 !important;
  color: var(--ds-text-2) !important; font-size: 12px !important; font-weight: 400 !important; box-shadow: none !important;
}
body.ds-2026 .analysis-public-metrics span b { color: var(--ds-text) !important; font-weight: 600 !important; margin-right: 3px; }
body.ds-2026 .rv-analysis-public .analysis-public-score-card {
  border: none !important; border-radius: 16px !important; padding: 24px !important;
  background: #fff !important; box-shadow: var(--ds-shadow-sm) !important;
}
body.ds-2026 .analysis-public-score-head span { font-size: 13px !important; color: var(--ds-text-2) !important; font-weight: 500 !important; }
body.ds-2026 .analysis-public-score-head b {
  font-size: 40px !important; font-weight: 700 !important; line-height: 1 !important;
  background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--ds-text) !important;
}
body.ds-2026 .analysis-public-bar span { font-size: 13px !important; color: var(--ds-text-2) !important; }
body.ds-2026 .analysis-public-bar b { font-size: 13px !important; font-weight: 600 !important; color: var(--ds-text) !important; }
body.ds-2026 .analysis-public-score-card > button {
  height: 40px !important; min-height: 40px !important; margin-top: 16px !important;
  border: none !important; border-radius: 980px !important;
  background: linear-gradient(180deg, #3b82f6 0%, #2563eb 62%) !important; color: #fff !important;
  font-size: 14px !important; font-weight: 500 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 1px 2px rgba(30, 64, 175, 0.24) !important;
}
body.ds-2026 .analysis-public-score-card > button:hover { filter: brightness(1.05); }
body.ds-2026 .rv-analysis-public .analysis-public-grid article,
body.ds-2026 .rv-analysis-public .analysis-public-workflow {
  border: none !important; border-radius: 16px !important;
  background: #fff !important; box-shadow: var(--ds-shadow-sm) !important;
}
body.ds-2026 .analysis-public-grid article span { color: var(--ds-brand) !important; font-weight: 600 !important; }
body.ds-2026 .analysis-public-grid article h3 { font-size: 16px !important; font-weight: 600 !important; }
body.ds-2026 .analysis-public-grid article p { font-size: 13px !important; color: var(--ds-text-2) !important; }
body.ds-2026 .analysis-public-workflow h2 { font-size: 24px !important; font-weight: 600 !important; letter-spacing: -0.2px !important; }
body.ds-2026 .analysis-public-steps article b { font-size: 15px !important; font-weight: 600 !important; }
body.ds-2026 .analysis-public-steps article p { font-size: 13px !important; color: var(--ds-text-2) !important; }

/* ---------- P1-8 / P2-1 我的简历卡片 ---------- */
body.ds-2026 .resume-asset-card { min-height: 236px !important; border-radius: 16px !important; }
body.ds-2026 .resume-asset-card:hover,
body.ds-2026 .resume-asset-card.menu-open { border: none !important; }
body.ds-2026 .resume-asset-preview { border-radius: 16px 0 0 16px !important; }
body.ds-2026 .resume-asset-content { padding: 18px 20px !important; }
body.ds-2026 .resume-asset-label { font-weight: 600 !important; font-size: 12px !important; }
body.ds-2026 .resume-asset-title h3 { font-size: 16px !important; margin: 3px 0 0 !important; font-weight: 600 !important; }
body.ds-2026 .resume-asset-content > p { margin: 6px 0 0 !important; font-size: 12px !important; color: var(--ds-text-3) !important; }
body.ds-2026 .resume-asset-status { margin-top: auto !important; padding-top: 12px !important; gap: 6px !important; }
body.ds-2026 .resume-asset-status span {
  min-height: 24px !important; padding: 0 10px !important; border: none !important;
  border-radius: 980px !important; background: #f4f5f7 !important;
  color: var(--ds-text-2) !important; font-size: 12px !important; font-weight: 500 !important; box-shadow: none !important;
}
body.ds-2026 .resume-asset-actions { margin-top: 12px !important; gap: 8px !important; justify-content: flex-start !important; }
body.ds-2026 .resume-asset-actions .primary {
  flex: 0 0 auto !important; min-width: 104px !important; height: 34px !important; min-height: 34px !important;
  padding: 0 20px !important; font-size: 13px !important;
}
body.ds-2026 .resume-asset-actions .outline {
  flex: 0 0 auto !important; height: 34px !important; min-height: 34px !important;
  padding: 0 16px !important; font-size: 13px !important;
}
body.ds-2026 .asset-menu-btn { border-radius: 980px !important; border-color: var(--ds-border-strong) !important; }
body.ds-2026 .workspace-footnote { font-size: 12px !important; color: var(--ds-text-3) !important; }

/* ---------- P1-9 / P2-7 编辑器 ---------- */
body.ds-2026 .ai-coach-intro { display: none !important; }
body.ds-2026 .ai-coach-tags span {
  height: 24px !important; min-height: 24px !important; padding: 0 10px !important;
  border: none !important; border-radius: 980px !important;
  background: #f4f5f7 !important; color: var(--ds-text-2) !important; font-size: 12px !important;
}
body.ds-2026 .ai-coach-action-row button {
  border: 1px solid var(--ds-border-strong) !important; border-radius: 980px !important;
  background: #fff !important; color: var(--ds-text-2) !important; box-shadow: none !important; font-size: 12px !important;
}
body.ds-2026 .ai-coach-action-row button:hover { border-color: var(--ds-brand) !important; color: var(--ds-brand) !important; background: var(--ds-brand-faint) !important; }
body.ds-2026 .editor-view .side-panel input:not([type="range"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
body.ds-2026 .editor-view .side-panel select {
  min-height: 34px !important; border-radius: 10px !important; font-size: 13px !important;
  border-color: var(--ds-border-strong) !important;
}
body.ds-2026 .editor-view .side-panel textarea { border-radius: 10px !important; font-size: 13px !important; }
body.ds-2026 .editor-deephire-brand b { font-size: 14px !important; font-weight: 600 !important; }

/* ============================================================================
   PC comprehensive polish v121 · desktop only (mobile visual rules unchanged)
   ============================================================================ */
@media (min-width: 1024px) {
  html { scroll-padding-top: 76px; }

  body.ds-2026 :where(button, a, input, textarea, select, [tabindex]):focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28) !important;
    outline-offset: 2px !important;
  }

  body.ds-2026 .topbar .main-nav button:focus-visible {
    outline-offset: -5px !important;
    border-radius: 8px !important;
  }

  body.ds-2026 .selection-page,
  body.ds-2026 .ai-overview,
  body.ds-2026 .workspace-page,
  body.ds-2026 .analysis-public-page {
    width: min(calc(100% - 64px), 1264px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.ds-2026 .pc-refresh-shell .selection-page,
  body.ds-2026 .pc-refresh-shell .workspace-page,
  body.ds-2026 .pc-refresh-shell .ai-page {
    padding-top: 16px !important;
  }

  body.ds-2026 .selection-page-header,
  body.ds-2026 .workspace-page-header {
    min-height: 132px !important;
    align-items: center !important;
  }

  body.ds-2026 .selection-filter-panel,
  body.ds-2026 .ai-sample-search-panel {
    border: 1px solid var(--ds-border) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  }

  body.ds-2026 .filter-options button,
  body.ds-2026 .ai-sample-examples button {
    min-height: 36px !important;
    padding: 0 14px !important;
  }
  body.ds-2026 .pc-refresh-shell .filter-options button,
  body.ds-2026 .pc-refresh-shell .ai-sample-examples button {
    height: 36px !important;
    min-height: 36px !important;
  }

  body.ds-2026 .selection-catalog-card,
  body.ds-2026 .ai-sample-card,
  body.ds-2026 .resume-asset-card,
  body.ds-2026 .analysis-public-grid article {
    content-visibility: auto;
    contain-intrinsic-size: 420px;
  }

  body.ds-2026 .selection-catalog-card,
  body.ds-2026 .ai-sample-card,
  body.ds-2026 .resume-asset-card {
    border: 1px solid var(--ds-border) !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.055) !important;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
  }

  body.ds-2026 .selection-catalog-card:hover,
  body.ds-2026 .ai-sample-card:hover,
  body.ds-2026 .resume-asset-card:hover {
    transform: translateY(-2px) !important;
    border-color: #bfd1ee !important;
    box-shadow: 0 14px 30px rgba(30, 64, 175, 0.10) !important;
  }

  body.ds-2026 .catalog-actions button,
  body.ds-2026 .ai-sample-actions button,
  body.ds-2026 .resume-asset-actions button {
    height: 38px !important;
    min-height: 38px !important;
  }
  body.ds-2026 .pc-refresh-shell .catalog-actions :where(.primary, .outline, .favorite-mini),
  body.ds-2026 .pc-refresh-shell .ai-sample-actions :where(.primary, .outline),
  body.ds-2026 .pc-refresh-shell .resume-asset-actions :where(.primary, .outline) {
    height: 38px !important;
    min-height: 38px !important;
  }

  body.ds-2026 .catalog-actions .favorite-mini {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
  }

  body.ds-2026 .resume-assets-grid { gap: 16px !important; }
  body.ds-2026 .resume-asset-card { min-height: 220px !important; }
  body.ds-2026 .resume-asset-preview {
    min-height: 220px !important;
    background: linear-gradient(145deg, #f5f7fb, #e9eef6) !important;
  }
  body.ds-2026 .resume-asset-live { pointer-events: none !important; user-select: none !important; }
  body.ds-2026 .resume-asset-content { justify-content: center !important; }
  body.ds-2026 .resume-asset-status { margin-top: 14px !important; padding-top: 0 !important; }

  body.ds-2026 .modal-mask {
    padding: 24px !important;
    overscroll-behavior: contain;
  }
  body.ds-2026 .modal {
    max-height: calc(100vh - 48px) !important;
    scrollbar-gutter: stable;
  }
  body.ds-2026 .modal .close {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 10px !important;
  }
  body.ds-2026 .template-preview-modal {
    width: min(1120px, calc(100vw - 64px)) !important;
  }
  body.ds-2026 .template-preview-head,
  body.ds-2026 .preview-modal-head {
    min-height: 72px !important;
    padding-right: 48px !important;
  }
  body.ds-2026 .login-upgrade-modal .login-field,
  body.ds-2026 .login-upgrade-modal .login-code-row button,
  body.ds-2026 .login-upgrade-modal .login-btn {
    min-height: 44px !important;
  }

  body.ds-2026 .editor-deephire-topbar :where(button, .small-primary) {
    min-height: 36px !important;
  }
  body.ds-2026 .editor-deephire-topbar .doc-title-btn {
    max-width: min(28vw, 360px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1200px) {
  body.ds-2026 .template-catalog-grid,
  body.ds-2026 .ai-sample-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .editor-deephire-body {
    grid-template-columns: clamp(320px, 26vw, 420px) minmax(540px, 1fr) clamp(260px, 22vw, 340px) !important;
    overflow: hidden !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .editor-ai-zone {
    grid-column: auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-content: initial !important;
    gap: 16px !important;
    padding: 22px 20px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .canvas-zoom-tools {
    right: calc(clamp(260px, 22vw, 340px) + 22px) !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .ai-coach-score,
  body.ds-2026 .rv-editor.editor-deephire .ai-coach-actions {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .ai-coach-score {
    padding: 18px !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .ai-coach-actions {
    padding-top: 2px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .ai-coach-input {
    min-height: 112px !important;
    border-color: var(--ds-border-strong) !important;
  }
}

/* ============================================================================
   PC shell consistency v122 · shared header/footer + clean template edges
   Mobile keeps the existing visual implementation.
   ============================================================================ */
.home-desktop-footer { display: none; }

@media (min-width: 1024px) {
  body.ds-2026 .boss-cv-shell > .topbar {
    height: 64px !important;
    display: grid !important;
    grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr) !important;
    align-items: center !important;
    padding: 0 32px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid #e6eaf0 !important;
    color: #1f2329 !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .brand {
    width: auto !important;
    min-width: 0 !important;
    justify-self: start !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .brand-mark {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    border-radius: 10px !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .brand-mark img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .brand-name {
    color: #1f2329 !important;
    font-family: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .helped { display: none !important; }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav {
    height: 64px !important;
    min-height: 0 !important;
    max-height: 64px !important;
    justify-self: center !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 4px !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav button {
    position: relative !important;
    width: clamp(72px, 7vw, 96px) !important;
    min-width: 0 !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #4b5563 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav button:hover,
  body.ds-2026 .boss-cv-shell > .topbar .main-nav button.active,
  body.ds-2026 .boss-cv-shell > .topbar .main-nav button[aria-current="page"] {
    color: #2563eb !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav button::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    width: 36px !important;
    height: 3px !important;
    border-radius: 999px 999px 0 0 !important;
    background: transparent !important;
    transform: translateX(-50%) !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav button.active::after,
  body.ds-2026 .boss-cv-shell > .topbar .main-nav button[aria-current="page"]::after {
    background: #2563eb !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav button span { display: none !important; }

  body.ds-2026 .boss-cv-shell > .topbar .top-actions {
    min-width: 0 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
  }

  body.ds-2026 .dsh-tpl-card {
    border: 1px solid #e3e8ef !important;
    border-radius: 16px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  body.ds-2026 .dsh-tpl-shot {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    aspect-ratio: 680 / 840 !important;
    background: #fff !important;
    border-bottom: 1px solid #e6eaf0 !important;
    overflow: hidden !important;
  }

  body.ds-2026 .dsh-tpl-shot img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 680 / 840 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: top center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.ds-2026 .dsh-tpl-info {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.ds-2026 .rv-templates .catalog-preview {
    background: #fff !important;
    border-color: #e3e8ef !important;
  }

  body.ds-2026 .rv-templates .catalog-preview .template-thumb-img,
  body.ds-2026 .rv-templates .catalog-preview img {
    display: block !important;
    background: #fff !important;
  }

  body.ds-2026 .home-mobile-footer { display: none !important; }
  body.ds-2026 .home-desktop-footer { display: block !important; }

  body.ds-2026 .dsh-cta {
    padding-bottom: 72px !important;
    background: radial-gradient(50% 76% at 50% 106%, rgba(37, 99, 235, 0.08), transparent 72%) !important;
  }

  body.ds-2026 .rv-footer {
    margin-top: 0 !important;
    padding: 48px 0 28px !important;
    border-top: 1px solid #e2e7ee !important;
    background: #f5f7fa !important;
  }

  body.ds-2026 .rv-footer .rv-foot-grid {
    grid-template-columns: 1.45fr repeat(3, minmax(0, 1fr)) !important;
    gap: 40px !important;
  }

  body.ds-2026 .rv-footer .rv-foot-brand .brand {
    gap: 10px !important;
    color: #1f2329 !important;
    font-size: 16px !important;
  }

  body.ds-2026 .rv-footer .rv-foot-brand .brand-mark,
  body.ds-2026 .rv-footer .rv-foot-brand .brand-mark img {
    width: 36px !important;
    height: 36px !important;
  }

  body.ds-2026 .rv-footer .rv-foot-bottom {
    margin-top: 32px !important;
    padding-top: 18px !important;
  }
}

@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  body.ds-2026 .dsh-live-demo .dsh-frame {
    animation: dshWorkbenchFloat 6.5s ease-in-out infinite;
  }

  body.ds-2026 .dsh-live-demo .dsh-dot {
    animation: dshLivePulse 2.2s ease-in-out infinite;
  }

  body.ds-2026 .dsh-live-demo .dsh-frame-ai .blk.after {
    animation: dshAiGlow 3.2s ease-in-out infinite;
  }
}

@keyframes dshWorkbenchFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@keyframes dshLivePulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
  50% { opacity: .72; box-shadow: 0 0 0 5px rgba(22, 163, 74, .12); }
}

@keyframes dshAiGlow {
  0%, 100% { box-shadow: 0 0 0 rgba(37, 99, 235, 0); }
  50% { box-shadow: 0 12px 28px rgba(37, 99, 235, .12); }
}

/* ============================================================================
   PC deep UX optimization v123 · desktop only
   Keeps the existing mobile visual implementation below 1024px.
   ============================================================================ */
@media (min-width: 1024px) {
  /* Header action hierarchy */
  body.ds-2026 .boss-cv-shell > .topbar .top-actions { gap: 8px !important; }
  body.ds-2026 .boss-cv-shell > .topbar .header-create {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 17px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #2563eb !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: 0 5px 14px rgba(37, 99, 235, 0.2) !important;
  }
  body.ds-2026 .boss-cv-shell > .topbar .header-create:hover {
    background: #1d4ed8 !important;
    transform: translateY(-1px);
  }
  body.ds-2026 .boss-cv-shell > .topbar .top-actions .vip {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    border: 1px solid #ead9b8 !important;
    border-radius: 999px !important;
    background: #fffaf0 !important;
    color: #9a681e !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }
  body.ds-2026 .boss-cv-shell > .topbar .top-actions .vip:hover,
  body.ds-2026 .boss-cv-shell > .topbar .top-actions .vip.active {
    border-color: #d6b16d !important;
    background: #fff4dd !important;
    color: #7a4b08 !important;
  }

  /* Modal must sit above the sticky header instead of being cropped by it. */
  body.ds-2026 .modal-mask {
    z-index: 120 !important;
    padding: 24px !important;
  }
  body.ds-2026 .template-preview-modal,
  body.ds-2026 .ai-sample-preview-modal {
    max-height: calc(100vh - 48px) !important;
  }
  body.ds-2026 .template-preview-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    margin: 0 -24px !important;
    padding: 16px 72px 16px 24px !important;
    border-bottom: 1px solid #e5eaf1 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(16px) !important;
  }
  body.ds-2026 .template-preview-modal > .close {
    top: 14px !important;
    right: 14px !important;
    z-index: 5 !important;
  }

  /* Home: less vertical repetition and more product visible in the first fold. */
  body.ds-2026 .dsh-home .dsh-hero { padding: 56px 0 48px !important; }
  body.ds-2026 .dsh-home .dsh-hero h1 { font-size: 50px !important; }
  body.ds-2026 .dsh-home .dsh-lead { font-size: 18px !important; }
  body.ds-2026 .dsh-home .dsh-rating { display: none !important; }
  body.ds-2026 .dsh-home .dsh-stage { margin-top: 34px !important; }
  body.ds-2026 .dsh-home .dsh-steps { display: none !important; }
  body.ds-2026 .dsh-home .dsh-stats { padding: 36px 0 !important; }
  body.ds-2026 .dsh-home .dsh-stats .st b { font-size: 34px !important; }
  body.ds-2026 .dsh-home .dsh-band { padding: 68px 0 !important; }
  body.ds-2026 .dsh-home .dsh-dark { padding: 72px 0 !important; }
  body.ds-2026 .dsh-home .dsh-band-head { margin-bottom: 30px !important; }
  body.ds-2026 .dsh-home .dsh-band-head h2,
  body.ds-2026 .dsh-home .dsh-ana-copy h2,
  body.ds-2026 .dsh-home .dsh-cta h2 { font-size: 34px !important; }
  body.ds-2026 .dsh-home .dsh-social-proof { display: none !important; }
  body.ds-2026 .dsh-home .dsh-cta { padding: 72px 0 64px !important; }
  body.ds-2026 .dsh-home .dsh-frame-shot img { min-height: 520px; }

  /* Home AI demo v124: show the resume improving in four observable stages. */
  body.ds-2026 .dsh-live-demo .dsh-frame-bar .save { margin-left: 0 !important; }
  body.ds-2026 .dsh-live-demo .dsh-demo-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    min-height: 28px;
    margin-left: auto;
    padding: 0 10px;
    border: 1px solid #dbe4f2;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #526174;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    box-shadow: none;
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-toggle:hover,
  body.ds-2026 .dsh-live-demo .dsh-demo-toggle:focus-visible {
    border-color: #a9c5f7;
    background: #fff;
    color: #2563eb;
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-toggle[aria-pressed="true"] {
    border-color: #bfd2f2;
    background: #eef5ff;
    color: #2563eb;
  }
  body.ds-2026 .dsh-live-demo .dsh-frame-shot {
    position: relative;
    overflow: hidden;
  }
  body.ds-2026 .dsh-live-demo .dsh-scan-overlay {
    --scan-y: 18%;
    position: absolute;
    inset: 16px 0 0 16px;
    display: block;
    overflow: hidden;
    pointer-events: none;
    border-radius: 3px 3px 0 0;
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="1"] .dsh-scan-overlay { --scan-y: 42%; }
  body.ds-2026 .dsh-live-demo[data-demo-step="2"] .dsh-scan-overlay { --scan-y: 67%; }
  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .dsh-scan-overlay { --scan-y: 88%; }
  body.ds-2026 .dsh-live-demo .dsh-scan-band {
    position: absolute;
    z-index: 2;
    top: var(--scan-y);
    left: 0;
    right: 0;
    height: 46px;
    transform: translateY(-50%);
    border-top: 1px solid rgba(37, 99, 235, 0.72);
    border-bottom: 1px solid rgba(14, 165, 233, 0.35);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.03), rgba(14, 165, 233, 0.12), rgba(37, 99, 235, 0.02));
    box-shadow: 0 0 28px rgba(37, 99, 235, 0.16);
    transition: top 1.1s cubic-bezier(0.22, 1, 0.36, 1), opacity 240ms ease;
  }
  body.ds-2026 .dsh-live-demo .dsh-scan-caption {
    position: absolute;
    z-index: 3;
    top: calc(var(--scan-y) - 28px);
    left: 14px;
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 9px;
    border: 1px solid rgba(147, 197, 253, 0.72);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #2563eb;
    font-size: 11px;
    font-weight: 650;
    box-shadow: 0 7px 18px rgba(37, 99, 235, 0.12);
    transition: top 1.1s cubic-bezier(0.22, 1, 0.36, 1);
  }
  body.ds-2026 .dsh-live-demo .dsh-frame-ai { gap: 9px !important; }
  body.ds-2026 .dsh-live-demo .dsh-demo-status {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 24px;
    padding: 0 9px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #f7fbff;
    color: #2563eb;
    font-size: 11px;
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-status b { font-weight: 650; }
  body.ds-2026 .dsh-live-demo .dsh-demo-orb {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #2563eb;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .dsh-demo-orb {
    background: #16a34a;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.11);
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress span { min-width: 0; }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress i {
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 999px;
    background: #e7ecf3;
    transition: background-color 240ms ease, transform 240ms ease;
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress b {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #98a2b3;
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress .is-active i {
    background: #2563eb;
    transform: scaleY(1.35);
  }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress .is-active b { color: #2563eb; font-weight: 650; }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress .is-done i { background: #67a2ff; }
  body.ds-2026 .dsh-live-demo .dsh-demo-progress .is-done b { color: #5277a8; }
  body.ds-2026 .dsh-live-demo .dsh-frame-ai .blk {
    transition: opacity 260ms ease, transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="0"] .dsh-frame-ai .blk.before {
    border-color: #93c5fd;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.08);
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="0"] .dsh-frame-ai .blk.after {
    opacity: 0.52;
    transform: translateY(3px);
  }
  body.ds-2026 .dsh-live-demo .dsh-after-text {
    display: block;
    min-height: 58px;
  }
  body.ds-2026 .dsh-live-demo .dsh-type-caret {
    display: none;
    width: 1px;
    height: 13px;
    margin-left: 2px;
    vertical-align: -2px;
    background: #2563eb;
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="1"] .dsh-type-caret { display: inline-block; }
  body.ds-2026 .dsh-live-demo .dsh-frame-ai .kw span {
    opacity: 0.25;
    transform: translateY(4px) scale(0.96);
    transition: opacity 280ms ease var(--keyword-delay, 0ms), transform 280ms ease var(--keyword-delay, 0ms), background-color 280ms ease;
  }
  body.ds-2026 .dsh-live-demo .dsh-frame-ai .kw span.is-hit {
    opacity: 1;
    transform: translateY(0) scale(1);
    background: #e8f1ff;
  }
  body.ds-2026 .dsh-live-demo .dsh-frame-ai .score b {
    min-width: 24px;
    text-align: right;
    font-variant-numeric: tabular-nums;
  }
  body.ds-2026 .dsh-live-demo .dsh-frame-ai .score b.is-counting { color: #2563eb; }
  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .dsh-frame-ai .score {
    margin-inline: -8px;
    padding: 10px 8px 0;
    border-top-color: #bbf7d0;
    background: linear-gradient(180deg, rgba(240, 253, 244, 0), rgba(240, 253, 244, 0.82));
  }

  /* Template filters: use the available width, expose real selected state. */
  body.ds-2026 .template-page .selection-filter-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    padding: 14px 20px !important;
  }
  body.ds-2026 .template-page .selection-filter-panel .filter-group {
    min-height: 52px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    padding: 8px 0 !important;
    border-top: 0 !important;
  }
  body.ds-2026 .template-page .selection-filter-panel .filter-group:nth-child(n + 3) {
    border-top: 1px solid var(--ds-divider) !important;
  }
  body.ds-2026 .template-page .selection-filter-panel .filter-options button[aria-pressed="true"] {
    background: var(--ds-brand-soft) !important;
    color: var(--ds-brand) !important;
    font-weight: 600 !important;
  }
  body.ds-2026 .template-page .selection-results-panel { margin-top: 20px !important; }
  body.ds-2026 .template-page .selection-catalog-card {
    content-visibility: visible !important;
    contain: none !important;
  }
  body.ds-2026 .template-page .catalog-preview {
    min-height: 0 !important;
    background: #fff !important;
  }
  body.ds-2026 .template-page .catalog-preview .template-thumb-img {
    display: block !important;
    width: 100% !important;
    background: #fff !important;
  }
  body.ds-2026 .template-page .catalog-actions .outline { flex: 0 0 92px !important; }
  body.ds-2026 .template-page .catalog-actions .primary { flex: 1 1 auto !important; }

  /* Job samples: clean preview art and stronger scan hierarchy. */
  body.ds-2026 .ai-sample-card {
    grid-template-columns: 180px minmax(0, 1fr) !important;
    gap: 24px !important;
    padding: 18px !important;
    content-visibility: visible !important;
    contain: none !important;
    overflow: hidden !important;
  }
  body.ds-2026 .ai-sample-thumb {
    width: 180px !important;
    height: 236px !important;
    background: #f4f6f9 !important;
  }
  body.ds-2026 .ai-sample-thumb .template-thumb-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: top center !important;
  }
  body.ds-2026 .ai-sample-card-body { padding: 8px 0 2px !important; }
  body.ds-2026 .ai-sample-card-body h3 { font-size: 18px !important; }
  body.ds-2026 .ai-sample-card-body > p { max-width: 760px !important; font-size: 14px !important; }

  /* Analysis: remove the fake-result ambiguity and balance the two panels. */
  body.ds-2026 .rv-analysis-public .analysis-public-hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr) !important;
  }
  body.ds-2026 .rv-analysis-public .analysis-public-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 300px !important;
  }
  body.ds-2026 .analysis-public-actions { align-items: center !important; flex-wrap: wrap !important; }
  body.ds-2026 .analysis-editor-link {
    height: 40px !important;
    padding: 0 4px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ds-brand) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
  }
  body.ds-2026 .analysis-public-score-head b { display: inline-flex !important; align-items: baseline !important; gap: 7px !important; }
  body.ds-2026 .analysis-public-score-head b small {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--ds-text-3) !important;
  }

  /* Membership: four comparable plans, with the same benefits visible. */
  body.ds-2026 .modal.vip-upgrade-modal {
    width: min(1120px, calc(100vw - 64px)) !important;
    max-height: calc(100vh - 48px) !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plans {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan:nth-child(n + 3) .vip-feature-list li:nth-child(n + 5) {
    display: flex !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan { padding: 16px 14px !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-list { min-height: 200px !important; }

  /* Footer links are now real controls and use the same product wording as the header. */
  body.ds-2026 .rv-footer .rv-foot-col :is(button, a, span) {
    display: block !important;
    width: fit-content !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ds-text-2) !important;
    font: inherit !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    text-align: left !important;
    box-shadow: none !important;
  }
  body.ds-2026 .rv-footer .rv-foot-col :is(button, a):hover {
    color: var(--ds-brand) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }
  body.ds-2026 .rv-footer .rv-foot-brand p,
  body.ds-2026 .rv-footer .rv-foot-bottom,
  body.ds-2026 .rv-footer .rv-foot-bottom :is(span, a) { font-size: 13px !important; }
}

@media (min-width: 1200px) {
  body.ds-2026 .dsh-home .dsh-hero .dsh-wrap {
    max-width: 1520px !important;
    padding-inline: 36px !important;
    display: grid !important;
    grid-template-columns: minmax(360px, 0.78fr) minmax(680px, 1.22fr) !important;
    grid-template-areas:
      "chip stage"
      "title stage"
      "lead stage"
      "actions stage"
      "micro stage" !important;
    column-gap: 54px !important;
    align-items: center !important;
    text-align: left !important;
  }
  body.ds-2026 .dsh-home .dsh-chip { grid-area: chip !important; justify-self: start !important; margin-bottom: 14px !important; }
  body.ds-2026 .dsh-home .dsh-hero h1 { grid-area: title !important; margin: 0 !important; }
  body.ds-2026 .dsh-home .dsh-lead { grid-area: lead !important; margin: 18px 0 0 !important; font-size: 17px !important; }
  body.ds-2026 .dsh-home .dsh-hero-actions { grid-area: actions !important; justify-content: flex-start !important; margin-top: 26px !important; }
  body.ds-2026 .dsh-home .dsh-micro { grid-area: micro !important; margin-top: 14px !important; line-height: 1.9 !important; }
  body.ds-2026 .dsh-home .dsh-stage { grid-area: stage !important; width: 100% !important; margin: 0 !important; align-self: center !important; }
  body.ds-2026 .dsh-home .dsh-frame-body { grid-template-columns: minmax(0, 1fr) 238px !important; }
}

@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  body.ds-2026 .dsh-live-demo .dsh-demo-orb { animation: dshDemoOrbPulse 1.4s ease-in-out infinite; }
  body.ds-2026 .dsh-live-demo[data-demo-step="1"] .dsh-type-caret { animation: dshTypeCaret 720ms step-end infinite; }
  body.ds-2026 .dsh-live-demo[data-demo-step="0"] .dsh-frame-ai .blk.after { animation: none; }
}

@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  body.ds-2026 .dsh-live-demo .dsh-demo-toggle { display: none !important; }
  body.ds-2026 .dsh-live-demo :is(.dsh-scan-band, .dsh-scan-caption, .dsh-frame-ai .blk, .dsh-frame-ai .kw span, .dsh-demo-progress i) {
    animation: none !important;
    transition: none !important;
  }
}

@keyframes dshDemoOrbPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.62; transform: scale(0.82); }
}

@keyframes dshTypeCaret {
  0%, 48% { opacity: 1; }
  49%, 100% { opacity: 0; }
}

/* Shared PC footer logo and interaction repair v125. */
@media (min-width: 1024px) {
  body.ds-2026 .rv-footer .footer-brand-home {
    width: fit-content !important;
    min-width: 0 !important;
    margin: -6px 0 8px -6px !important;
    padding: 6px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #1f2329 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    appearance: none !important;
    transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
  }

  body.ds-2026 .rv-footer .footer-brand-home .brand-mark {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
  }

  body.ds-2026 .rv-footer .footer-brand-home .brand-mark img {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 9px !important;
    object-fit: contain !important;
    box-shadow: none !important;
    filter: none !important;
  }

  body.ds-2026 .rv-footer .footer-brand-home:hover {
    background: rgba(37, 99, 235, 0.07) !important;
    transform: translateY(-1px) !important;
  }

  body.ds-2026 .rv-footer .footer-brand-home:active {
    background: rgba(37, 99, 235, 0.13) !important;
    transform: translateY(0) scale(0.98) !important;
  }

  body.ds-2026 .rv-footer .footer-brand-home:focus-visible,
  body.ds-2026 .rv-footer .rv-foot-col :is(button, a):focus-visible,
  body.ds-2026 .rv-footer .rv-foot-bottom a:focus-visible {
    outline: 2px solid var(--ds-brand) !important;
    outline-offset: 3px !important;
  }

  body.ds-2026 .rv-footer .rv-foot-col :is(button, a) {
    margin: 0 0 4px -8px !important;
    padding: 5px 8px !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease !important;
  }

  body.ds-2026 .rv-footer .rv-foot-col span {
    cursor: default !important;
  }

  body.ds-2026 .rv-footer .rv-foot-col :is(button, a):hover {
    background: rgba(37, 99, 235, 0.08) !important;
    color: var(--ds-brand) !important;
    text-decoration: none !important;
    transform: translateX(3px) !important;
  }

  body.ds-2026 .rv-footer .rv-foot-col :is(button, a):active {
    background: rgba(37, 99, 235, 0.15) !important;
    transform: translateX(1px) scale(0.98) !important;
  }

  body.ds-2026 .rv-footer .rv-foot-bottom a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    margin: -5px -7px !important;
    padding: 5px 7px !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease !important;
  }

  body.ds-2026 .rv-footer .rv-foot-bottom a:hover {
    background: rgba(37, 99, 235, 0.08) !important;
    color: var(--ds-brand) !important;
    transform: translateY(-1px) !important;
  }

  body.ds-2026 .rv-footer .rv-foot-bottom a:active {
    background: rgba(37, 99, 235, 0.15) !important;
    transform: translateY(0) scale(0.98) !important;
  }
}

/* PC template filters: standard button states and stable viewport v126. */
@media (min-width: 1024px) {
  body.ds-2026 .template-page .selection-filter-panel {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  body.ds-2026 .template-page .selection-filter-panel .filter-options {
    gap: 4px !important;
  }

  body.ds-2026 .template-page .selection-filter-panel .filter-options button {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--ds-text-2) !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transform: none !important;
    transition: color 140ms ease, background-color 140ms ease, border-color 140ms ease !important;
  }

  body.ds-2026 .template-page .selection-filter-panel .filter-options button:hover {
    border-color: var(--ds-border-strong) !important;
    background: #f8fafc !important;
    color: var(--ds-text) !important;
  }

  body.ds-2026 .template-page .selection-filter-panel .filter-options button.active,
  body.ds-2026 .template-page .selection-filter-panel .filter-options button[aria-pressed="true"] {
    border-color: #8fb4f4 !important;
    background: #f8fbff !important;
    color: var(--ds-brand) !important;
    box-shadow: none !important;
    font-weight: 500 !important;
  }

  body.ds-2026 .template-page .selection-filter-panel .filter-options button:active {
    border-color: #7aa7f2 !important;
    background: #eef5ff !important;
    transform: none !important;
  }

  body.ds-2026 .template-page .selection-filter-panel .filter-options button:focus-visible {
    outline: 2px solid var(--ds-brand) !important;
    outline-offset: 2px !important;
  }

  body.ds-2026 .template-page .selection-filter-panel .filter-options button.active:focus-visible,
  body.ds-2026 .template-page .selection-filter-panel .filter-options button[aria-pressed="true"]:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
  }
}

/* Template filters: in-place results stay hidden on every viewport v136. */
body.ds-2026 .template-page .template-catalog-grid > [hidden],
body.ds-2026 .template-page [data-template-empty-state][hidden] {
  display: none !important;
}

/* PC template filters: stable viewport without press or scrollbar jitter v136. */
@media (min-width: 1024px) {
  html {
    scrollbar-gutter: stable;
  }
}

/* PC template cards: two-line metadata and stable hover v127. */
.catalog-meta .catalog-desktop-meta {
  display: none !important;
}

.catalog-meta .catalog-mobile-meta {
  display: contents !important;
}

@media (min-width: 1024px) {
  body.ds-2026 .template-page .catalog-desktop-meta {
    display: contents !important;
  }

  body.ds-2026 .template-page .catalog-mobile-meta {
    display: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-meta {
    display: block !important;
    padding: 14px 16px 16px !important;
  }

  body.ds-2026 .template-page .catalog-title-line {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-width: 0 !important;
    gap: 12px !important;
  }

  body.ds-2026 .template-page .catalog-title-line h3 {
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  body.ds-2026 .template-page .catalog-summary-line {
    margin: 6px 0 0 !important;
    overflow: hidden !important;
    color: var(--ds-text-3) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  body.ds-2026 .template-page .catalog-actions {
    margin-top: 14px !important;
  }

  body.ds-2026 .template-page .selection-catalog-card,
  body.ds-2026 .template-page .selection-catalog-card:hover,
  body.ds-2026 .template-page .selection-catalog-card.active,
  body.ds-2026 .template-page .selection-catalog-card.active:hover {
    transform: none !important;
    filter: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-card:hover {
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.10) !important;
  }

  body.ds-2026 .template-page .selection-catalog-card .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active .catalog-preview {
    outline: 0 !important;
    outline-offset: 0 !important;
    border-color: var(--ds-border) !important;
    box-shadow: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview {
    border-color: #a9bfe3 !important;
    box-shadow: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-card .catalog-preview .template-thumb-img,
  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview .template-thumb-img,
  body.ds-2026 .template-page .selection-catalog-card .catalog-preview img,
  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview img {
    transform: none !important;
  }
}

.selection-title-desktop,
.selection-description-desktop {
  display: none;
}

/* PC template and job-sample pages: shared shell and content rhythm v128. */
@media (min-width: 1024px) {
  body.ds-2026 .pc-refresh-shell .unified-library-page {
    box-sizing: border-box !important;
    width: min(calc(100% - 64px), 1264px) !important;
    margin: 0 auto !important;
    padding: 16px 0 56px !important;
    background: transparent !important;
  }

  body.ds-2026 .unified-library-page .unified-library-content {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.ds-2026 .unified-library-page .selection-page-header {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 132px !important;
    margin: 20px 0 !important;
    padding: 0 !important;
    align-items: center !important;
  }

  body.ds-2026 .unified-library-page .selection-page-header > div:first-child {
    min-width: 0 !important;
  }

  body.ds-2026 .unified-library-page .selection-page-header h1 {
    margin: 0 !important;
    font-size: 32px !important;
    line-height: 1.3 !important;
  }

  body.ds-2026 .unified-library-page .selection-title-default,
  body.ds-2026 .unified-library-page .selection-description-default {
    display: none !important;
  }

  body.ds-2026 .unified-library-page .selection-title-desktop,
  body.ds-2026 .unified-library-page .selection-description-desktop {
    display: inline !important;
  }

  body.ds-2026 .unified-library-page .selection-page-header p {
    margin: 8px 0 0 !important;
    line-height: 1.65 !important;
  }

  body.ds-2026 .unified-library-page .selection-filter-panel,
  body.ds-2026 .unified-library-page .ai-sample-search-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-search-panel {
    padding: 18px 20px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-search-row {
    width: 100% !important;
    margin: 0 !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-examples {
    margin-top: 12px !important;
  }

  body.ds-2026 .unified-library-page .selection-results-panel,
  body.ds-2026 .unified-library-page .ai-sample-results {
    width: 100% !important;
    margin-top: 20px !important;
  }

  body.ds-2026 .unified-library-page .selection-results-head,
  body.ds-2026 .unified-library-page .ai-sample-results-head {
    min-height: 42px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    align-items: center !important;
  }
}

.ai-sample-copy-preview {
  display: none;
}

/* PC job samples: copy-first two-column cards v129. */
@media (min-width: 1024px) {
  body.ds-2026 .unified-library-page .ai-sample-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 16px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 430px !important;
    padding: 24px !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05) !important;
    transform: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-card:hover {
    border-color: #bfd1ee !important;
    box-shadow: 0 12px 26px rgba(30, 64, 175, 0.09) !important;
    transform: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-thumb {
    display: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-rank {
    display: block !important;
    width: fit-content !important;
    min-height: 0 !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ds-brand) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 18px !important;
    letter-spacing: 0.04em !important;
    box-shadow: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-card-body h3 {
    flex: 0 0 auto !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-card-body > p {
    flex: 0 0 auto !important;
    max-width: none !important;
    margin-top: 8px !important;
    color: var(--ds-text-2) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-meta {
    display: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-copy-preview {
    display: grid !important;
    gap: 14px !important;
    margin-top: 16px !important;
    padding: 16px 0 !important;
    border-top: 1px solid var(--ds-divider) !important;
    border-bottom: 1px solid var(--ds-divider) !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-copy-preview section {
    min-width: 0 !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-copy-preview b {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--ds-text) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-copy-preview p {
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--ds-text-2) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    white-space: normal !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-tags {
    margin-top: 14px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-tags span:nth-child(n + 5) {
    display: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-actions {
    margin-top: auto !important;
    padding: 18px 0 0 !important;
    pointer-events: auto !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-actions button {
    pointer-events: auto !important;
  }

body.ds-2026 .ai-sample-preview-modal .close {
    z-index: 5 !important;
  }
}

/* ==========================================================================
   My resumes gallery v130 · desktop only
   Resume pages now lead each card; compact metadata and actions sit below.
   ========================================================================== */
.resume-asset-preview-hit { display: none; }

@media (min-width: 1024px) {
  body.ds-2026 .rv-mine .resume-assets-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 16px !important;
  }

  body.ds-2026 .rv-mine .resume-asset-card {
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column !important;
    overflow: visible !important;
    content-visibility: visible !important;
    contain: none !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
  }

  body.ds-2026 .rv-mine .resume-asset-card:hover,
  body.ds-2026 .rv-mine .resume-asset-card.menu-open {
    border: 1px solid #bfd1ee !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 210 / 297 !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    border-radius: 15px 15px 0 0 !important;
    background: linear-gradient(145deg, #f7f9fc, #edf2f8) !important;
    transition: background-color 180ms ease, box-shadow 180ms ease !important;
  }

  body.ds-2026 .rv-mine .resume-asset-live {
    top: 14px !important;
    width: 650px !important;
    transform: translateX(-50%) scale(var(--mine-asset-scale, .58)) !important;
    transform-origin: top center !important;
  }

  body.ds-2026 .rv-mine .resume-asset-live .preview-inline-toolbar,
  body.ds-2026 .rv-mine .resume-asset-live .preview-ai-result {
    display: none !important;
  }

  body.ds-2026 .rv-mine .resume-asset-live .preview-editable-block {
    outline: 0 !important;
    box-shadow: none !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview-hit {
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 15px 15px 0 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview:hover {
    background: linear-gradient(145deg, #f3f7fd, #e8eff8) !important;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .13) !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview-hit:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .28) !important;
    outline-offset: -5px !important;
  }

  body.ds-2026 .rv-mine .resume-asset-content {
    position: relative !important;
    display: flex !important;
    min-height: 170px !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
    padding: 16px !important;
    border-top: 1px solid var(--ds-border) !important;
    border-radius: 0 0 16px 16px !important;
  }

  body.ds-2026 .rv-mine .resume-asset-title { padding-right: 42px !important; }
  body.ds-2026 .rv-mine .resume-asset-title h3 { font-size: 17px !important; }
  body.ds-2026 .rv-mine .resume-asset-content > p { margin-top: 5px !important; }
  body.ds-2026 .rv-mine .resume-asset-status {
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  body.ds-2026 .rv-mine .resume-asset-actions {
    margin-top: auto !important;
    padding-top: 14px !important;
  }

  body.ds-2026 .rv-mine .resume-asset-actions .primary {
    flex: 1 1 auto !important;
  }

  body.ds-2026 .rv-mine .asset-menu-btn {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 4 !important;
  }

  body.ds-2026 .rv-mine .resume-asset-content > .more-menu {
    top: 54px !important;
    right: 16px !important;
  }

  body.ds-2026 .rv-mine .resume-asset-content > .export-submenu {
    top: 88px !important;
    right: 16px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1179px) {
  body.ds-2026 .rv-mine .resume-assets-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ==========================================================================
   Resume analysis deep optimization v131 · desktop only
   Keep the established mobile analysis page untouched below 1024px.
   ========================================================================== */
.analysis-deep-desktop { display: none; }
.analysis-legacy-mobile { display: block; }

@media (min-width: 1024px) {
  body.ds-2026 .rv-analysis-public.analysis-public-page {
    width: min(calc(100% - 64px), 1200px) !important;
    padding: 34px 0 64px !important;
  }

  body.ds-2026 .rv-analysis-public .analysis-legacy-mobile { display: none !important; }
  body.ds-2026 .rv-analysis-public .analysis-deep-desktop { display: block !important; }

  body.ds-2026 .analysis-deep-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    align-items: end;
    gap: 48px;
    min-height: 106px;
    margin-bottom: 24px;
  }

  body.ds-2026 .analysis-deep-heading > div > span {
    display: block;
    margin-bottom: 7px;
    color: var(--ds-brand);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
  }

  body.ds-2026 .analysis-deep-heading h1 {
    margin: 0 !important;
    color: var(--ds-text) !important;
    font-size: 34px !important;
    font-weight: 650 !important;
    line-height: 1.22 !important;
    letter-spacing: -.5px !important;
  }

  body.ds-2026 .analysis-deep-heading > p {
    margin: 0 0 3px;
    color: var(--ds-text-2);
    font-size: 14px;
    line-height: 1.75;
  }

  body.ds-2026 .analysis-deep-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(390px, .85fr);
    gap: 18px;
    align-items: stretch;
  }

  body.ds-2026 .analysis-deep-start,
  body.ds-2026 .analysis-deep-report,
  body.ds-2026 .analysis-deep-card-grid article,
  body.ds-2026 .analysis-deep-flow {
    border: 1px solid var(--ds-border);
    background: #fff;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .045);
  }

  body.ds-2026 .analysis-deep-start,
  body.ds-2026 .analysis-deep-report {
    min-height: 358px;
    box-sizing: border-box;
    border-radius: 18px;
  }

  body.ds-2026 .analysis-deep-start { padding: 28px; }
  body.ds-2026 .analysis-deep-report { padding: 24px; }

  body.ds-2026 .analysis-deep-panel-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
  }

  body.ds-2026 .analysis-deep-step,
  body.ds-2026 .analysis-deep-section-head > div > span {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 24px;
    border-radius: 7px;
    background: #edf4ff;
    color: var(--ds-brand);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
  }

  body.ds-2026 .analysis-deep-panel-head h2,
  body.ds-2026 .analysis-deep-section-head h2 {
    margin: 0;
    color: var(--ds-text);
    font-size: 20px;
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: -.2px;
  }

  body.ds-2026 .analysis-deep-panel-head p {
    margin: 6px 0 0;
    color: var(--ds-text-2);
    font-size: 13px;
    line-height: 1.6;
  }

  body.ds-2026 .analysis-deep-choice-list { display: grid; gap: 10px; }

  body.ds-2026 .analysis-deep-choice {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 72px;
    padding: 12px 15px;
    border: 1px solid var(--ds-border);
    border-radius: 13px;
    background: #fff;
    color: var(--ds-text);
    text-align: left;
    box-shadow: none;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }

  body.ds-2026 .analysis-deep-choice:hover {
    transform: translateY(-1px);
    border-color: #b9ccec;
    background: #fbfdff;
    box-shadow: 0 8px 20px rgba(30, 64, 175, .07);
  }

  body.ds-2026 .analysis-deep-choice.is-primary {
    border-color: #b9d1f8;
    background: linear-gradient(90deg, #f5f9ff 0%, #fff 76%);
  }

  body.ds-2026 .analysis-deep-choice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #edf4ff;
    color: var(--ds-brand);
    font-size: 16px;
    font-weight: 700;
  }
  body.ds-2026 .analysis-deep-choice-icon .ui-icon {
    width: 17px;
    height: 17px;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.ds-2026 .analysis-deep-choice > span:nth-child(2) { min-width: 0; }
  body.ds-2026 .analysis-deep-choice b,
  body.ds-2026 .analysis-deep-choice small { display: block; }
  body.ds-2026 .analysis-deep-choice b { font-size: 14px; font-weight: 600; }
  body.ds-2026 .analysis-deep-choice small {
    margin-top: 4px;
    color: var(--ds-text-3);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
  }
  body.ds-2026 .analysis-deep-choice i {
    color: var(--ds-brand);
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    white-space: nowrap;
  }

  body.ds-2026 .analysis-deep-assurance {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 16px;
    margin-top: 18px;
    padding-left: 2px;
    color: var(--ds-text-3);
    font-size: 12px;
  }
  body.ds-2026 .analysis-deep-assurance span { white-space: nowrap; }
  body.ds-2026 .analysis-deep-assurance b { color: var(--ds-text); font-weight: 650; }

  body.ds-2026 .analysis-deep-report-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ds-border);
  }
  body.ds-2026 .analysis-deep-report-head > div { display: flex; align-items: center; gap: 8px; }
  body.ds-2026 .analysis-deep-report-head > div > span { color: var(--ds-text); font-size: 14px; font-weight: 600; }
  body.ds-2026 .analysis-deep-report-head > div > small {
    padding: 3px 8px;
    border-radius: 999px;
    background: #f2f4f7;
    color: var(--ds-text-3);
    font-size: 10px;
    font-weight: 500;
  }
  body.ds-2026 .analysis-deep-report-head > strong {
    color: var(--ds-text);
    font-size: 34px;
    font-weight: 700;
    line-height: .9;
    letter-spacing: -1px;
  }
  body.ds-2026 .analysis-deep-report-head > strong small {
    color: var(--ds-text-3);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
  }

  body.ds-2026 .analysis-deep-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0 12px;
  }
  body.ds-2026 .analysis-deep-summary b { color: var(--ds-text); font-size: 13px; font-weight: 600; }
  body.ds-2026 .analysis-deep-summary span { color: #b45309; font-size: 11px; font-weight: 550; }

  body.ds-2026 .analysis-deep-bars { display: grid; gap: 10px; }
  body.ds-2026 .analysis-deep-bar {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 46px;
    align-items: center;
    gap: 10px;
    color: var(--ds-text-2);
    font-size: 11px;
  }
  body.ds-2026 .analysis-deep-bar i {
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, #4f8df7 var(--bar), #edf1f6 var(--bar));
  }
  body.ds-2026 .analysis-deep-bar b { color: var(--ds-text-2); font-size: 11px; font-weight: 600; text-align: right; }

  body.ds-2026 .analysis-deep-priority {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    margin-top: 16px;
    padding: 11px 12px;
    border: 1px solid #f3dcc2;
    border-radius: 11px;
    background: #fffaf3;
  }
  body.ds-2026 .analysis-deep-priority > span {
    padding: 4px 7px;
    border-radius: 6px;
    background: #fff0d9;
    color: #a3560b;
    font-size: 10px;
    font-weight: 650;
  }
  body.ds-2026 .analysis-deep-priority b,
  body.ds-2026 .analysis-deep-priority small { display: block; }
  body.ds-2026 .analysis-deep-priority b { color: var(--ds-text); font-size: 12px; font-weight: 600; }
  body.ds-2026 .analysis-deep-priority small { margin-top: 3px; color: var(--ds-text-3); font-size: 11px; }

  body.ds-2026 .analysis-deep-diagnosis { margin-top: 34px; }
  body.ds-2026 .analysis-deep-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 16px;
  }
  body.ds-2026 .analysis-deep-section-head > div { display: flex; align-items: center; gap: 11px; }
  body.ds-2026 .analysis-deep-section-head > p { margin: 0; color: var(--ds-text-3); font-size: 12px; }

  body.ds-2026 .analysis-deep-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }
  body.ds-2026 .analysis-deep-card-grid article {
    min-height: 176px;
    box-sizing: border-box;
    padding: 20px;
    border-radius: 15px;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  }
  body.ds-2026 .analysis-deep-card-grid article:hover {
    transform: translateY(-2px);
    border-color: #bfd1ee;
    box-shadow: 0 12px 26px rgba(30, 64, 175, .08);
  }
  body.ds-2026 .analysis-deep-card-grid article > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  body.ds-2026 .analysis-deep-card-grid article > div > span { color: var(--ds-brand); font-size: 11px; font-weight: 700; }
  body.ds-2026 .analysis-deep-card-grid article em {
    padding: 4px 7px;
    border-radius: 999px;
    background: #f4f6f8;
    color: var(--ds-text-3);
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
  }
  body.ds-2026 .analysis-deep-card-grid h3 { margin: 18px 0 7px; color: var(--ds-text); font-size: 16px; font-weight: 650; }
  body.ds-2026 .analysis-deep-card-grid p { margin: 0; color: var(--ds-text-2); font-size: 12px; line-height: 1.65; }
  body.ds-2026 .analysis-deep-card-grid article > b { display: block; margin-top: 13px; color: var(--ds-brand); font-size: 11px; font-weight: 600; }

  body.ds-2026 .analysis-deep-flow {
    margin-top: 20px;
    padding: 22px 24px;
    border-radius: 16px;
  }
  body.ds-2026 .analysis-deep-flow .analysis-deep-section-head { margin-bottom: 18px; }
  body.ds-2026 .analysis-deep-editor {
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid #cbd9ee;
    border-radius: 999px;
    background: #fff;
    color: var(--ds-brand);
    font-size: 12px;
    font-weight: 600;
    box-shadow: none;
  }
  body.ds-2026 .analysis-deep-editor:hover { border-color: var(--ds-brand); background: #f7faff; }
  body.ds-2026 .analysis-deep-flow-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.ds-2026 .analysis-deep-flow-steps article {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 0 24px;
  }
  body.ds-2026 .analysis-deep-flow-steps article:first-child { padding-left: 0; }
  body.ds-2026 .analysis-deep-flow-steps article:not(:last-child) {
    border-right: 1px solid var(--ds-border);
  }
  body.ds-2026 .analysis-deep-flow-steps article > span {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #edf4ff;
    color: var(--ds-brand);
    font-size: 12px;
    font-weight: 700;
  }
  body.ds-2026 .analysis-deep-flow-steps b { display: block; color: var(--ds-text); font-size: 13px; font-weight: 600; }
  body.ds-2026 .analysis-deep-flow-steps p { margin: 3px 0 0; color: var(--ds-text-3); font-size: 11px; }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .rv-analysis-public.analysis-public-page { width: calc(100% - 48px) !important; }
  body.ds-2026 .analysis-deep-heading { grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); gap: 30px; }
  body.ds-2026 .analysis-deep-hero { grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); }
  body.ds-2026 .analysis-deep-start { padding: 24px; }
  body.ds-2026 .analysis-deep-card-grid article { padding: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .analysis-deep-choice,
  body.ds-2026 .analysis-deep-card-grid article { transition: none !important; }
}

/* ==========================================================================
   New blank / rename resume dialog v143 · desktop only
   Replaces the remaining legacy name prompt while preserving mobile markup.
   ========================================================================== */
@media (min-width: 1024px) {
  body.ds-2026 .name-modal-v143 {
    width: min(500px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-intro {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 14px !important;
    padding-right: 46px !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-symbol {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #cfe0ff !important;
    border-radius: 11px !important;
    background: #eef5ff !important;
    color: #2563eb !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-symbol .ui-icon {
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
  }

  body.ds-2026 .name-modal-v143 .modal-standard-head {
    min-width: 0 !important;
    padding-right: 0 !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-kicker {
    display: block !important;
    margin: 0 0 3px !important;
    color: #2563eb !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: .08em !important;
  }

  body.ds-2026 .name-modal-v143 h2::before { display: none !important; content: none !important; }

  body.ds-2026 .name-modal-v143 .modal-standard-head > p {
    max-width: 340px !important;
    margin-top: 5px !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-field {
    display: grid !important;
    gap: 8px !important;
    margin-top: 24px !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-field > span {
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-field .input {
    width: 100% !important;
    height: 44px !important;
    padding: 0 13px !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-field small {
    color: #7a8699 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-actions {
    margin-top: 24px !important;
  }

  body.ds-2026 .name-modal-v143 .name-modal-actions > button {
    min-width: 96px !important;
  }

  body.ds-2026 .name-modal-v143 button:active { transform: none !important; }
}

/* ==========================================================================
   Unified modal system v132 · desktop only
   One neutral shell for account, form, preview, AI, import/export and VIP flows.
   ========================================================================== */
@media (min-width: 1024px) {
  body.ds-2026 .modal-mask {
    z-index: 140 !important;
    display: grid !important;
    place-items: center !important;
    box-sizing: border-box !important;
    padding: 32px !important;
    background: rgba(15, 23, 42, .52) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
    overscroll-behavior: contain !important;
  }

  body.ds-2026 .modal {
    position: relative !important;
    box-sizing: border-box !important;
    max-height: calc(100vh - 64px) !important;
    border: 1px solid #dce3ed !important;
    border-radius: 16px !important;
    background: #fff !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: var(--ds-text) !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .24) !important;
    scrollbar-gutter: stable;
  }

  body.ds-2026 .modal::before,
  body.ds-2026 .modal::after { display: none !important; }

  body.ds-2026 .modal .close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 12 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    border: 1px solid #dce3ed !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #667085 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease !important;
  }

  body.ds-2026 .modal .close:hover {
    border-color: #b8c5d8 !important;
    background: #f6f8fb !important;
    color: var(--ds-text) !important;
  }

  body.ds-2026 .modal .close .ui-icon {
    width: 17px !important;
    height: 17px !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body.ds-2026 .modal :is(h2, .modal-title) {
    margin: 0 !important;
    color: var(--ds-text) !important;
    font-size: 20px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    letter-spacing: -.2px !important;
  }

  body.ds-2026 .modal > p,
  body.ds-2026 .modal-standard-head > p,
  body.ds-2026 .modal :is(.preview-modal-head, .template-preview-head, .ai-modal-title, .export-modal-head) p {
    margin: 6px 0 0 !important;
    color: var(--ds-text-2) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
  }

  body.ds-2026 .modal-standard-head { padding-right: 52px !important; }

  body.ds-2026 .modal .field-label,
  body.ds-2026 .modal label {
    color: var(--ds-text-2) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  body.ds-2026 .modal :is(.input, input:not([type="file"]), textarea, select, .export-select, .export-name-input) {
    box-sizing: border-box !important;
    border: 1px solid #d7dee9 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--ds-text) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    transition: border-color 160ms ease, box-shadow 160ms ease !important;
  }

  body.ds-2026 .modal :is(.input, input:not([type="file"]), select, .export-select, .export-name-input) {
    min-height: 42px !important;
  }

  body.ds-2026 .modal :is(.input, input:not([type="file"]), textarea, select, .export-select, .export-name-input):focus {
    border-color: #7ba8f7 !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
    outline: 0 !important;
  }

  body.ds-2026 .modal :is(.input, input, textarea)::placeholder { color: #98a2b3 !important; }
  body.ds-2026 .modal .hint { color: var(--ds-text-3) !important; font-size: 12px !important; line-height: 1.6 !important; }

  body.ds-2026 .modal :is(.ghost-btn, .small-primary, .modal-submit, .export-submit, .login-btn, .vip-plan-cta) {
    min-height: 40px !important;
    padding: 0 18px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 120ms ease !important;
  }

  body.ds-2026 .modal :is(.ghost-btn) {
    border: 1px solid #d7dee9 !important;
    background: #fff !important;
    color: #4b5563 !important;
  }

  body.ds-2026 .modal :is(.ghost-btn):hover {
    border-color: #b7c4d8 !important;
    background: #f7f9fc !important;
  }

  body.ds-2026 .modal :is(.small-primary, .modal-submit, .export-submit, .login-btn, .vip-plan-cta:not(.ghost)) {
    border: 1px solid #2563eb !important;
    background: #2563eb !important;
    background-image: none !important;
    color: #fff !important;
  }

  body.ds-2026 .modal :is(.small-primary, .modal-submit, .export-submit, .login-btn, .vip-plan-cta:not(.ghost)):hover {
    border-color: #1d4ed8 !important;
    background: #1d4ed8 !important;
    filter: none !important;
  }

  body.ds-2026 .modal :is(button, input, textarea, select):focus-visible {
    outline: 3px solid rgba(37, 99, 235, .22) !important;
    outline-offset: 2px !important;
  }

  body.ds-2026 .modal button:active { transform: translateY(1px) !important; }
  body.ds-2026 .modal button:disabled { transform: none !important; opacity: .45 !important; cursor: not-allowed !important; }

  body.ds-2026 .modal-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 24px -24px -24px !important;
    padding: 16px 24px !important;
    border-top: 1px solid var(--ds-border) !important;
    background: #fbfcfe !important;
  }

  body.ds-2026 .modal-footer > button { min-width: 92px !important; }

  /* Compact form and confirmation dialogs. */
  body.ds-2026 .modal:is(.mini-modal, .name-modal, .account-modal, .inline-rewrite-modal) {
    width: min(500px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden auto !important;
  }

  body.ds-2026 .modal:is(.mini-modal, .name-modal, .account-modal, .inline-rewrite-modal) > h2 {
    padding-right: 52px !important;
    margin-bottom: 20px !important;
  }

  body.ds-2026 .modal .confirm-text {
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #f0d4d4 !important;
    border-radius: 10px !important;
    background: #fff8f8 !important;
    color: #7a3440 !important;
  }

  body.ds-2026 .modal .small-primary.danger {
    border-color: #dc3545 !important;
    background: #dc3545 !important;
  }

  body.ds-2026 .modal .module-choice {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.ds-2026 .modal .module-choice button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid #d7dee9 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #4b5563 !important;
    text-align: left !important;
  }

  body.ds-2026 .modal .module-choice .ui-icon { width: 15px !important; height: 15px !important; }

  /* Login and account access. */
  body.ds-2026 .modal.login-upgrade-modal {
    width: min(440px, calc(100vw - 64px)) !important;
    min-height: 0 !important;
    padding: 26px !important;
    overflow: hidden auto !important;
  }

  body.ds-2026 .modal.login-upgrade-modal::before { display: none !important; }
  body.ds-2026 .login-modal-brand { margin: 0 0 24px !important; padding-right: 50px !important; }
  body.ds-2026 .login-modal-brand .brand-mark { width: 38px !important; height: 38px !important; border-radius: 10px !important; box-shadow: none !important; }
  body.ds-2026 .login-modal-brand b { color: var(--ds-text) !important; font-size: 15px !important; font-weight: 650 !important; }
  body.ds-2026 .login-modal-brand span { margin-top: 2px !important; color: var(--ds-text-3) !important; font-size: 11px !important; }
  body.ds-2026 .login-modal-heading { margin-bottom: 18px !important; }
  body.ds-2026 .login-modal-heading > span {
    display: inline-flex !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 0 9px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #edf4ff !important;
    color: var(--ds-brand) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
  }
  body.ds-2026 .login-modal-heading h2 { margin-top: 10px !important; }
  body.ds-2026 .login-field-stack { gap: 10px !important; }
  body.ds-2026 .login-upgrade-modal .login-field {
    min-height: 44px !important;
    border: 1px solid #d7dee9 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  body.ds-2026 .login-upgrade-modal .login-field:focus-within {
    border-color: #7ba8f7 !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
  }
  body.ds-2026 .login-upgrade-modal .login-field .ui-icon { color: #7f8da3 !important; }
  body.ds-2026 .login-upgrade-modal .login-input { border: 0 !important; box-shadow: none !important; }
  body.ds-2026 .login-upgrade-modal .login-code-row { gap: 10px !important; }
  body.ds-2026 .login-upgrade-modal .login-code-row > button {
    min-width: 108px !important;
    min-height: 44px !important;
    border: 1px solid #c9d8ee !important;
    border-radius: 10px !important;
    background: #f7faff !important;
    color: var(--ds-brand) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }
  body.ds-2026 .login-upgrade-modal .login-btn { width: 100% !important; margin-top: 18px !important; }
  body.ds-2026 .login-trust-row {
    gap: 14px !important;
    margin-top: 14px !important;
    padding: 12px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ds-text-3) !important;
  }
  body.ds-2026 .login-trust-row .ui-icon { color: var(--ds-brand) !important; }
  body.ds-2026 .login-upgrade-modal .agreement { color: var(--ds-text-3) !important; font-size: 11px !important; }

  /* Legal, import, export and account dialogs. */
  body.ds-2026 .modal.legal-modal {
    width: min(760px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden !important;
  }
  body.ds-2026 .legal-modal > h2,
  body.ds-2026 .legal-modal > p { padding-right: 52px !important; }
  body.ds-2026 .legal-meta.compact {
    margin: 18px 0 14px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
  }
  body.ds-2026 .legal-scroll {
    max-height: min(560px, calc(100vh - 250px)) !important;
    padding: 4px 12px 4px 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.ds-2026 .legal-scroll h3 { color: var(--ds-text) !important; font-size: 14px !important; }
  body.ds-2026 .legal-scroll p { color: var(--ds-text-2) !important; font-size: 12px !important; line-height: 1.75 !important; }

  body.ds-2026 .modal.import-modal {
    width: min(650px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden auto !important;
  }
  body.ds-2026 .import-modal .upload-box {
    min-height: 214px !important;
    margin-top: 20px !important;
    border: 1px dashed #b9c8dc !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
  }
  body.ds-2026 .import-modal .upload-box:hover { border-color: #7ba8f7 !important; background: #f5f9ff !important; }
  body.ds-2026 .import-modal .upload-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 11px !important;
    background: #eaf2ff !important;
    color: var(--ds-brand) !important;
    box-shadow: none !important;
  }
  body.ds-2026 .import-modal .upload-icon .ui-icon { width: 20px !important; height: 20px !important; }
  body.ds-2026 .import-modal .upload-list {
    margin-top: 12px !important;
    padding: 12px !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
  }

  body.ds-2026 .modal.export-modal {
    width: min(560px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden auto !important;
  }
  body.ds-2026 .export-modal-head { padding-right: 52px !important; }
  body.ds-2026 .export-entitlement-card {
    border: 1px solid #dbe4f1 !important;
    border-radius: 11px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
  }
  body.ds-2026 .export-modal-actions { gap: 10px !important; }
  body.ds-2026 .export-modal-actions > button { min-height: 40px !important; }
  body.ds-2026 .account-modal .avatar.small { background: #edf4ff !important; color: var(--ds-brand) !important; }
  body.ds-2026 .account-modal .account-action {
    min-height: 40px !important;
    border: 1px solid #d7dee9 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #4b5563 !important;
  }

  /* Preview dialogs use the same header and a neutral stage. */
  body.ds-2026 .modal:is(.template-preview-modal, .ai-sample-preview-modal, .resume-preview-modal) {
    width: min(1120px, calc(100vw - 64px)) !important;
    height: min(820px, calc(100vh - 64px)) !important;
    max-width: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  body.ds-2026 .modal:is(.template-preview-modal, .ai-sample-preview-modal, .resume-preview-modal) > .close {
    top: 18px !important;
    right: 18px !important;
  }
  body.ds-2026 .modal :is(.template-preview-head, .preview-modal-head) {
    position: relative !important;
    top: auto !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 78px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 16px 70px 16px 24px !important;
    border-bottom: 1px solid var(--ds-border) !important;
    background: #fff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  body.ds-2026 .template-preview-actions { display: flex !important; align-items: center !important; gap: 9px !important; }
  body.ds-2026 .template-preview-actions button { min-height: 40px !important; }
  body.ds-2026 .template-preview-actions .modal-favorite { display: inline-flex !important; align-items: center !important; gap: 6px !important; }
  body.ds-2026 .template-preview-actions .modal-favorite .ui-icon { width: 15px !important; height: 15px !important; }
  body.ds-2026 .template-preview-actions .modal-favorite.is-active { border-color: #8fb2eb !important; color: var(--ds-brand) !important; background: #f5f9ff !important; }
  body.ds-2026 .template-preview-actions .modal-favorite.is-active .ui-icon { fill: currentColor !important; }
  body.ds-2026 .template-preview-png-stage,
  body.ds-2026 .ai-sample-preview-stage,
  body.ds-2026 .resume-preview-modal .preview-spread {
    min-height: 0 !important;
    height: 100% !important;
    padding: 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f4f6f9 !important;
    background-image: none !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
  }
  body.ds-2026 .template-preview-png-stage > img,
  body.ds-2026 .template-preview-png-stage .template-thumb-img {
    border: 1px solid #d7dee9 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 12px 36px rgba(15, 23, 42, .12) !important;
  }
  body.ds-2026 .ai-sample-preview-stage .a4,
  body.ds-2026 .resume-preview-modal .preview-spread .a4 {
    border-radius: 0 !important;
    box-shadow: 0 0 0 1px #d7dee9, 0 12px 36px rgba(15, 23, 42, .12) !important;
  }

  /* Editor content dialogs. */
  body.ds-2026 .modal:is(.ai-write-modal, .editor-sample-modal) {
    width: min(1120px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden auto !important;
  }
  body.ds-2026 .modal .ai-modal-title { padding-right: 52px !important; }
  body.ds-2026 .modal .ai-mode-tabs {
    gap: 8px !important;
    margin-top: 18px !important;
    padding: 4px !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 11px !important;
    background: #f6f8fb !important;
  }
  body.ds-2026 .modal .ai-mode-tabs button {
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.ds-2026 .modal .ai-mode-tabs button.active {
    background: #fff !important;
    color: var(--ds-brand) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .08) !important;
  }
  body.ds-2026 .modal .ai-context-strip,
  body.ds-2026 .modal .ai-filter-card,
  body.ds-2026 .modal .ai-entitlement-note,
  body.ds-2026 .modal .editor-sample-generator,
  body.ds-2026 .modal .editor-sample-text-preview {
    border: 1px solid var(--ds-border) !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
  }
  body.ds-2026 .modal .ai-context-strip { gap: 8px !important; }
  body.ds-2026 .modal .ai-context-strip span {
    border: 0 !important;
    border-radius: 7px !important;
    background: #eef2f7 !important;
    color: var(--ds-text-2) !important;
  }
  body.ds-2026 .modal .ai-workspace-grid { grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important; gap: 18px !important; }
  body.ds-2026 .modal .ai-flow-divider { width: 1px !important; min-height: 100% !important; background: var(--ds-border) !important; }
  body.ds-2026 .modal .ai-workspace-panel {
    border: 1px solid var(--ds-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.ds-2026 .modal.section-item-modal {
    width: min(900px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden auto !important;
  }
  body.ds-2026 .section-item-modal > h2 { display: flex !important; align-items: center !important; gap: 9px !important; padding-right: 52px !important; margin-bottom: 20px !important; }
  body.ds-2026 .section-item-modal > h2 > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
    background: #edf4ff !important;
    color: var(--ds-brand) !important;
  }
  body.ds-2026 .section-item-modal > h2 .ui-icon { width: 15px !important; height: 15px !important; }
  body.ds-2026 .section-item-form { gap: 14px !important; }
  body.ds-2026 .section-item-modal .rich-toolbar {
    border: 1px solid #d7dee9 !important;
    border-radius: 10px 10px 0 0 !important;
    background: #f8fafc !important;
  }
  body.ds-2026 .section-item-modal .section-rich-editor {
    border: 1px solid #d7dee9 !important;
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;
    background: #fff !important;
  }

  /* VIP keeps product hierarchy but drops the legacy purple visual language. */
  body.ds-2026 .modal.vip-upgrade-modal {
    width: min(1120px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden auto !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal::before { display: none !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-top {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 22px !important;
    margin: 0 0 20px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid var(--ds-border) !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-brand {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-heading {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-tools {
    grid-column: 3 / 4 !important;
    grid-row: 1 !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-brand { justify-content: flex-start !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-brand .brand-mark { width: 38px !important; height: 38px !important; border-radius: 10px !important; box-shadow: none !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-brand b { color: var(--ds-text) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-brand span { color: var(--ds-text-3) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-heading { text-align: left !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-heading h2 { font-size: 20px !important; color: var(--ds-text) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-heading p { margin-top: 4px !important; color: var(--ds-text-2) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-tools { width: 38px !important; height: 38px !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-tools .close { position: static !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plans {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan {
    padding: 16px !important;
    border: 1px solid #dce3ed !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan:hover { transform: none !important; border-color: #b9c8dc !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan.active,
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan.featured {
    border-color: #7ba8f7 !important;
    background: #f9fbff !important;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .08) !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-ribbon {
    top: 12px !important;
    right: 12px !important;
    border-radius: 7px !important;
    background: #2563eb !important;
    color: #fff !important;
    box-shadow: none !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan-title b { color: var(--ds-text) !important; font-size: 15px !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan-title span {
    border: 0 !important;
    background: #eef2f7 !important;
    color: var(--ds-text-2) !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-price { color: var(--ds-text) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-price strong { color: var(--ds-text) !important; font-size: 34px !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-price em { color: var(--ds-brand) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan.featured .vip-price strong { color: var(--ds-brand) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-plan-cta.ghost {
    border: 1px solid #d7dee9 !important;
    background: #fff !important;
    color: #4b5563 !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-divider { color: var(--ds-text-3) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-list { min-height: 196px !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-list li { color: var(--ds-text-2) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-name .ui-icon { color: #7f8da3 !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-check {
    background: #eaf2ff !important;
    color: var(--ds-brand) !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-no {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #f1f3f6 !important;
    color: #98a2b3 !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-no .ui-icon { width: 11px !important; height: 11px !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-benefit-bar {
    margin-top: 14px !important;
    padding: 8px !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-benefit-item > span {
    background: #edf4ff !important;
    color: var(--ds-brand) !important;
    box-shadow: none !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal .vip-modal-note { color: var(--ds-text-3) !important; }

  /* Avatar crop keeps its functional canvas but uses the common shell. */
  body.ds-2026 .modal.avatar-crop-modal {
    width: min(720px, calc(100vw - 64px)) !important;
    padding: 24px !important;
    overflow: hidden auto !important;
  }
  body.ds-2026 .avatar-crop-modal > h3 { margin: 0 0 5px !important; color: var(--ds-text) !important; font-size: 20px !important; font-weight: 650 !important; }
  body.ds-2026 .avatar-crop-modal > p { color: var(--ds-text-2) !important; }
  body.ds-2026 .avatar-crop-stage { border: 1px solid var(--ds-border) !important; border-radius: 12px !important; background: #f4f6f9 !important; }

  /* Hard reset legacy translucent preview/account fills that otherwise tint the
     new neutral shell through older color-mix and backdrop rules. */
  body.ds-2026 .modal.template-preview-modal,
  body.ds-2026 .modal.ai-sample-preview-modal,
  body.ds-2026 .modal.resume-preview-modal,
  body.ds-2026 .modal.account-modal,
  body.ds-2026 .modal.legal-modal,
  body.ds-2026 .modal.import-modal,
  body.ds-2026 .modal.export-modal,
  body.ds-2026 .modal.ai-write-modal,
  body.ds-2026 .modal.editor-sample-modal,
  body.ds-2026 .modal.section-item-modal,
  body.ds-2026 .modal.avatar-crop-modal {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  body.ds-2026 .template-large-stage.template-preview-png-stage {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: #f4f6f9 !important;
    background-color: #f4f6f9 !important;
    background-image: none !important;
    box-shadow: none !important;
  }
  body.ds-2026 .template-large-stage.template-preview-png-stage .template-thumb-img {
    display: block !important;
    width: min(760px, 100%) !important;
    margin: 0 auto !important;
  }
  body.ds-2026 .modal :is(button, input, textarea, select):focus-visible {
    outline-width: 2px !important;
    outline-offset: 1px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .modal.vip-upgrade-modal .vip-plans { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.ds-2026 .modal.vip-upgrade-modal .vip-feature-list { min-height: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .modal,
  body.ds-2026 .modal * { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; }
}
/* ============================================================================
   DS-2026 美观层 v133 · 实施《设计优化清单-v131走查》与《UI美观优化清单》
   桌面端（≥1024px 为主），整段可独立回滚。
   ============================================================================ */

/* ---------- 全局 1/2：字阶补层 + 数字排版 ---------- */
body.ds-2026 .dsh-stats .st b,
body.ds-2026 .analysis-deep-report-head strong,
body.ds-2026 .vip-price strong,
body.ds-2026 .ai-coach-score-head b,
body.ds-2026 .analysis-public-score-head b {
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
}

/* ---------- 全局 3：第三层灰（卡内衬底专用 #FAFAFC） ---------- */
body.ds-2026 .catalog-preview,
body.ds-2026 .template-thumb,
body.ds-2026 .ai-sample-thumb,
body.ds-2026 .resume-thumb-live { background: #fafafc !important; }

/* ---------- 全局 4：阴影光源统一（蓝相双层影） ---------- */
@media (min-width: 1024px) {
  body.ds-2026 .catalog-card,
  body.ds-2026 .ai-sample-card,
  body.ds-2026 .resume-asset-card,
  body.ds-2026 .analysis-deep-start,
  body.ds-2026 .analysis-deep-report {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(10, 30, 80, 0.06) !important;
  }
  body.ds-2026 .catalog-card:hover,
  body.ds-2026 .ai-sample-card:hover,
  body.ds-2026 .resume-asset-card:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 16px 40px rgba(10, 30, 80, 0.11) !important;
    transform: translateY(-3px);
  }
}

/* ---------- 全局 6/12：渐变纪律——文字渐变收回蓝族 ---------- */
body.ds-2026 .dsh-hero h1 em {
  background: linear-gradient(92deg, #2563eb 12%, #38bdf8 88%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
/* 15：数据带数字改纯色（去灰渐变） */
body.ds-2026 .dsh-stats .st b {
  background: none !important; -webkit-text-fill-color: currentColor !important;
  color: #1f2329 !important;
}

/* ---------- 全局 8：渐现位移收敛到 16px ---------- */
@media (prefers-reduced-motion: no-preference) {
  body.ds-2026 .dsh-reveal { transform: translateY(16px); }
  body.ds-2026 .dsh-reveal.is-in { transform: none; }
}

/* ================= 首页 ================= */
/* 13：红绿灯降尺寸降饱和 */
body.ds-2026 .dsh-lights i { width: 8px !important; height: 8px !important; opacity: 0.85; }
/* 14：光晕更像光 */
body.ds-2026 .dsh-stage::before {
  background: radial-gradient(50% 100% at 50% 100%, rgba(37, 99, 235, 0.14), transparent 72%) !important;
  filter: blur(32px) !important;
}
/* B1：演示卡收高，首屏更平衡 */
@media (min-width: 1024px) {
  body.ds-2026 .dsh-frame-shot img { aspect-ratio: 680 / 480 !important; }
}
/* B2：优化后框最小高度 + 关键词命中/未命中双态（对比度达标） */
body.ds-2026 .dsh-frame-ai .blk.after { min-height: 96px; }
body.ds-2026 .dsh-frame-ai .kw span[data-demo-keyword] {
  background: transparent !important; color: #6b7280 !important;
  box-shadow: inset 0 0 0 1px #d3d9e2 !important;
  transition: background 300ms var(--ds-ease2), color 300ms var(--ds-ease2), box-shadow 300ms var(--ds-ease2);
  transition-delay: var(--keyword-delay, 0ms);
}
body.ds-2026 .dsh-frame-ai .kw span[data-demo-keyword].is-hit {
  background: #eff4ff !important; color: #2563eb !important; box-shadow: none !important;
}
/* B3：扫描浮签移到画面右上角、胶囊化 */
body.ds-2026 .dsh-scan-caption {
  position: absolute !important; top: 10px !important; right: 10px !important;
  left: auto !important; bottom: auto !important; transform: none !important;
  height: 24px; display: inline-flex; align-items: center; padding: 0 10px;
  background: rgba(15, 23, 42, 0.78) !important; color: #fff !important;
  font-size: 11px !important; border-radius: 980px !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
}
/* B4：竞争力行贴近 meter 语言 */
body.ds-2026 .dsh-frame-ai .score { border-top: 1px solid var(--ds-divider); }
body.ds-2026 .dsh-frame-ai .score b[data-demo-score] {
  background: none !important; -webkit-text-fill-color: currentColor !important;
  color: #2563eb !important; font-size: 18px !important; font-variant-numeric: tabular-nums;
}
/* B5：暂停按钮移出窗口栏，右下角幽灵化 */
body.ds-2026 .dsh-frame { position: relative; }
body.ds-2026 .dsh-demo-toggle {
  position: absolute !important; right: 12px !important; bottom: 12px !important; z-index: 6;
  height: 26px !important; padding: 0 12px !important; margin: 0 !important;
  background: rgba(255, 255, 255, 0.85) !important;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.08) !important; border-radius: 980px !important;
  color: #4b5563 !important; font-size: 11px !important; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}
body.ds-2026 .dsh-demo-toggle:hover { color: #2563eb !important; border-color: rgba(37, 99, 235, 0.4) !important; }
/* 16/17：深色区材质与出入过渡 */
body.ds-2026 .dsh-dark-card {
  border-color: rgba(255, 255, 255, 0.06) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
body.ds-2026 .dsh-dark-card:hover { border-color: rgba(255, 255, 255, 0.14) !important; }
body.ds-2026 .dsh-dark-card svg { stroke-width: 1.75px; }
body.ds-2026 .dsh-dark { position: relative; }
body.ds-2026 .dsh-dark::before,
body.ds-2026 .dsh-dark::after {
  content: ""; position: absolute; left: 0; right: 0; height: 80px; pointer-events: none; z-index: 1;
}
body.ds-2026 .dsh-dark::before { top: -80px; background: linear-gradient(180deg, transparent, rgba(10, 10, 12, 0.55)); }
body.ds-2026 .dsh-dark::after { bottom: -80px; background: linear-gradient(0deg, transparent, rgba(10, 10, 12, 0.55)); }
/* 18：评价首字徽标四色 */
body.ds-2026 .dsh-quotes figure:nth-of-type(1) .av { background: #eff4ff; color: #2563eb; }
body.ds-2026 .dsh-quotes figure:nth-of-type(2) .av { background: #e8f7f9; color: #0e7490; }
body.ds-2026 .dsh-quotes figure:nth-of-type(3) .av { background: #f3f0fc; color: #6d28d9; }
body.ds-2026 .dsh-quotes figure:nth-of-type(4) .av { background: #fbf3e4; color: #b45309; }
/* A3：图片懒加载占位底 */
body.ds-2026 .dsh-tpl-shot { background: linear-gradient(160deg, #f2f4f8 0%, #eaedf3 100%); }
body.ds-2026 .dsh-tpl-shot img { background: #fafafc; }

/* ================= 模板库 ================= */
@media (min-width: 1200px) {
  /* C1：4 列 + 缩略裁剪，首屏见完整卡片与操作 */
  body.ds-2026 .template-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; }
  body.ds-2026 .catalog-preview .template-png-thumb,
  body.ds-2026 .catalog-preview .template-thumb-img {
    aspect-ratio: 680 / 600 !important; height: auto !important; object-fit: cover; object-position: top;
  }
}
@media (min-width: 1024px) {
  /* 19：缩略台面（第三层灰 + 顶部内渐变 + 长尾影） */
  body.ds-2026 .catalog-preview {
    background: linear-gradient(180deg, #fff 0%, #fafafc 22%, #f3f5f9 100%) !important;
    padding: 16px 16px 0 !important;
  }
  body.ds-2026 .catalog-preview .template-thumb-img {
    border-radius: 6px 6px 0 0 !important;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06), 0 10px 24px rgba(10, 30, 80, 0.10),
                0 24px 48px -24px rgba(10, 30, 80, 0.18) !important;
  }
  /* 21：模板主题色短竖条 */
  body.ds-2026 .catalog-desktop-meta .catalog-title-line h3 { position: relative; padding-left: 12px; }
  body.ds-2026 .catalog-desktop-meta .catalog-title-line h3::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 4px; height: 14px; border-radius: 2px; background: var(--template, #2563eb);
  }
  /* 20：会员徽章描边化 */
  body.ds-2026 .catalog-access.vip {
    padding: 0 8px !important; min-height: 20px !important;
    border: 1px solid #e3c98f !important; border-radius: 980px !important;
    background: #fffdf6 !important; color: #8a5a00 !important; font-size: 11px !important;
  }
  /* 22：筛选面板 2×2 */
  body.ds-2026 .selection-filter-panel {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    column-gap: 40px !important; row-gap: 0 !important; padding: 6px 24px !important;
  }
  body.ds-2026 .selection-filter-panel .filter-group + .filter-group { border-top: none !important; }
  body.ds-2026 .selection-filter-panel .filter-group:nth-child(n + 3) { border-top: 1px solid var(--ds-divider) !important; }
}

/* ================= 岗位范文 ================= */
@media (min-width: 1024px) {
  /* E1：恢复左侧缩略图（紧凑 128px） */
  body.ds-2026 .unified-library-page .ai-sample-card {
    display: grid !important; grid-template-columns: 128px minmax(0, 1fr) !important;
    gap: 18px !important; align-items: stretch;
  }
  body.ds-2026 .unified-library-page .ai-sample-thumb {
    display: block !important; width: 128px !important; height: 172px !important;
    overflow: hidden !important; border-radius: 8px !important;
    border: 1px solid var(--ds-divider) !important;
    background: linear-gradient(180deg, #fff 0%, #f3f5f9 100%) !important;
  }
  /* E2：操作行与内容留出呼吸、摘要渐隐 */
  body.ds-2026 .unified-library-page .ai-sample-actions { padding: 14px 0 2px !important; }
  body.ds-2026 .unified-library-page .ai-sample-card-body > p {
    -webkit-mask-image: linear-gradient(180deg, #000 78%, transparent);
    mask-image: linear-gradient(180deg, #000 78%, transparent);
  }
}

/* ================= 简历分析 ================= */
@media (min-width: 1024px) {
  /* F2：页头两栏基线对齐 */
  body.ds-2026 .analysis-deep-heading { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; gap: 40px !important; }
  body.ds-2026 .analysis-deep-heading > p { max-width: 420px !important; margin: 0 !important; padding-bottom: 4px; }
  /* 26/F1：条形 6px 圆头；待提升琥珀 */
  body.ds-2026 .analysis-deep-bar i { height: 6px !important; border-radius: 3px !important; }
  body.ds-2026 .analysis-deep-bar.is-low i { background: linear-gradient(90deg, #f59e0b, #d97706) !important; }
  body.ds-2026 .analysis-deep-bar.is-low i::before,
  body.ds-2026 .analysis-deep-bar.is-low i::after { background: linear-gradient(90deg, #f59e0b, #d97706) !important; }
  body.ds-2026 .analysis-deep-bar.is-low b { color: #b45309 !important; }
  /* 27：优先优化卡由警告转建议 */
  body.ds-2026 .analysis-deep-priority {
    position: relative; background: #fdf8ec !important; border: none !important;
    padding-left: 18px !important; border-radius: 10px !important;
  }
  body.ds-2026 .analysis-deep-priority::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
    border-radius: 3px 0 0 3px; background: #d97706;
  }
  /* 28：步骤圆点统一 */
  body.ds-2026 .analysis-deep-panel-head > span,
  body.ds-2026 .analysis-deep-section-head span,
  body.ds-2026 .analysis-deep-step {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 8px;
    background: #eff4ff !important; color: #2563eb !important;
    font-size: 12px !important; font-weight: 600 !important; font-variant-numeric: tabular-nums;
    border: none !important;
  }
  /* F4：全页唯一转化 CTA 实心化 */
  body.ds-2026 .analysis-deep-editor {
    background: linear-gradient(180deg, #3b82f6 0%, #2563eb 62%) !important;
    color: #fff !important; border: none !important; border-radius: 980px !important;
    height: 40px !important; padding: 0 24px !important; font-weight: 500 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 1px 2px rgba(30, 64, 175, 0.24) !important;
  }
  body.ds-2026 .analysis-deep-editor:hover { filter: brightness(1.05); transform: translateY(-1px); }
  /* F3：卡片动作词降调为标签而非链接 */
  body.ds-2026 .analysis-deep-card-grid article > b {
    color: #2563eb !important; font-weight: 500 !important; font-size: 13px !important;
  }
  body.ds-2026 .analysis-deep-card-grid article > b::after { content: none !important; }
}

/* ================= 我的简历 ================= */
@media (min-width: 1024px) {
  /* D1/23：缩略收高 + 裁切渐隐，一屏见完整卡片 */
  body.ds-2026 .resume-asset-preview {
    max-height: 216px !important; overflow: hidden !important;
    -webkit-mask-image: linear-gradient(180deg, #000 82%, transparent);
    mask-image: linear-gradient(180deg, #000 82%, transparent);
  }
  /* D2：继续编辑定宽，恢复主次 */
  body.ds-2026 .resume-asset-actions { justify-content: flex-start !important; gap: 8px !important; }
  body.ds-2026 .resume-asset-actions .primary {
    flex: 0 0 auto !important; width: auto !important; min-width: 112px !important; max-width: 160px !important;
    height: 34px !important; padding: 0 22px !important; font-size: 13px !important;
  }
  body.ds-2026 .resume-asset-actions .outline {
    flex: 0 0 auto !important; width: auto !important; height: 34px !important;
    padding: 0 16px !important; font-size: 13px !important;
  }
  /* 24：信息三行节奏 */
  body.ds-2026 .resume-asset-label { font-size: 12px !important; font-weight: 600 !important; }
  body.ds-2026 .resume-asset-title h3 { font-size: 16px !important; font-weight: 600 !important; margin-top: 4px !important; }
  body.ds-2026 .resume-asset-content > p { font-size: 12px !important; color: #8a94a6 !important; margin-top: 6px !important; }
  /* 25：状态语义色 */
  body.ds-2026 .resume-asset-status span {
    border: none !important; border-radius: 980px !important; font-size: 12px !important;
    min-height: 24px !important; padding: 0 10px !important; font-weight: 500 !important;
  }
  body.ds-2026 .resume-asset-status span.asset-score-high { background: #eaf7ef !important; color: #15803d !important; }
  body.ds-2026 .resume-asset-status span.asset-score-mid { background: #eff4ff !important; color: #2563eb !important; }
  body.ds-2026 .resume-asset-status span.asset-score-low { background: #fdf3e3 !important; color: #b45309 !important; }
  body.ds-2026 .resume-asset-status span.asset-score-none { background: #f4f5f7 !important; color: #4b5563 !important; }
  body.ds-2026 .resume-asset-status span.asset-saved { background: #f4f5f7 !important; color: #4b5563 !important; }
  body.ds-2026 .resume-asset-status span.asset-saved::before {
    content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px;
    border-radius: 50%; background: #16a34a;
  }
}

/* ================= 会员弹窗 ================= */
@media (min-width: 1024px) {
  /* 29：推荐卡强调、其余降灰 */
  body.ds-2026 .vip-plan { background: #fafafc !important; transition: transform 200ms var(--ds-ease2), box-shadow 200ms var(--ds-ease2); }
  body.ds-2026 .vip-plan.featured {
    background: #fff !important; transform: scale(1.04);
    box-shadow: 0 0 0 1px #2563eb, 0 0 0 5px rgba(37, 99, 235, 0.08), 0 16px 40px rgba(10, 30, 80, 0.12) !important;
    z-index: 2;
  }
  /* 30：价格排版与对勾降重 */
  body.ds-2026 .vip-price small { margin-left: 4px; font-size: 12px; color: #8a94a6; }
  body.ds-2026 .vip-price em { margin-right: 2px; }
  body.ds-2026 .vip-feature-check {
    background: transparent !important; color: #2563eb !important;
    box-shadow: inset 0 0 0 1.5px rgba(37, 99, 235, 0.45) !important; border-radius: 50%;
  }
  body.ds-2026 .vip-feature-check svg { stroke-width: 2.5; }
}

/* ================= 编辑器 ================= */
@media (min-width: 1024px) {
  /* 31：纸张浮起 */
  body.ds-2026 .editor-view .canvas-area .a4,
  body.ds-2026 .editor-view [data-resume-canvas] {
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.10), 0 24px 48px -12px rgba(15, 23, 42, 0.14) !important;
  }
  /* 34：主按钮图标比例 */
  body.ds-2026 .editor-deephire-topbar .small-primary svg { width: 14px !important; height: 14px !important; }
  /* 33：右栏大数字与全站统一为纯色 */
  body.ds-2026 .ai-coach-score-head b {
    background: none !important; -webkit-text-fill-color: currentColor !important; color: #2563eb !important;
  }
  /* 32：左栏表单组呼吸 */
  body.ds-2026 .editor-view .side-panel .form-grid,
  body.ds-2026 .editor-view .side-panel .basic-info-grid { gap: 8px 12px !important; }
  body.ds-2026 .editor-view .side-panel .editor-panel-card + .editor-panel-card,
  body.ds-2026 .editor-view .side-panel .editor-module-card { margin-top: 20px !important; }
  /* 缩放控件对比度 */
  body.ds-2026 .canvas-zoom-tools button { color: #1f2329 !important; }
  body.ds-2026 .canvas-zoom-tools { border: 1px solid rgba(0, 0, 0, 0.08) !important; }
}

/* ================= 顶栏（I1：会员降噪） ================= */
@media (min-width: 1024px) {
  body.ds-2026 .topbar .top-actions .vip {
    background: none !important; border: none !important; box-shadow: none !important;
    padding: 0 10px !important; height: auto !important; min-height: 0 !important;
    color: #4b5563 !important; font-size: 14px !important; font-weight: 400 !important; border-radius: 6px !important;
  }
  body.ds-2026 .topbar .top-actions .vip:hover,
  body.ds-2026 .topbar .top-actions .vip.active { color: #8a5a00 !important; }
body.ds-2026 .topbar .top-actions .vip svg { display: none !important; }
}

/* ============================================================================
   PC 模板库 v134 · 简历预览优先、悬停操作、清晰选中态
   仅作用于桌面端；移动端沿用既有卡片信息与操作布局。
   ============================================================================ */
.catalog-hover-scrim,
.catalog-hover-actions,
.catalog-selected-mark {
  display: none;
}

@media (min-width: 1024px) {
  body.ds-2026 .template-page .template-catalog-grid {
    align-items: start !important;
    row-gap: 30px !important;
  }

  body.ds-2026 .template-page .selection-catalog-card,
  body.ds-2026 .template-page .selection-catalog-card:hover,
  body.ds-2026 .template-page .selection-catalog-card.active,
  body.ds-2026 .template-page .selection-catalog-card.active:hover {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-card {
    cursor: pointer;
  }

  body.ds-2026 .template-page .selection-catalog-card:focus {
    outline: 0;
  }

  body.ds-2026 .template-page .selection-catalog-card:focus-visible .catalog-preview {
    outline: 2px solid #2563eb !important;
    outline-offset: 3px !important;
  }

  body.ds-2026 .template-page .selection-catalog-card .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active:hover .catalog-preview {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 210 / 297 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 14px !important;
    outline: 0 !important;
    background: #f4f6f9 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 10px 28px rgba(30, 55, 90, 0.07) !important;
    transition: border-color 180ms var(--ds-ease2), box-shadow 180ms var(--ds-ease2) !important;
    isolation: isolate;
  }

  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card:focus-within .catalog-preview {
    border-color: #91b5f2 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 14px 34px rgba(30, 74, 132, 0.13) !important;
  }

  body.ds-2026 .template-page .selection-catalog-card.active .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active:hover .catalog-preview {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.13), 0 14px 34px rgba(30, 74, 132, 0.13) !important;
  }

  body.ds-2026 .template-page .catalog-preview::after {
    display: none !important;
  }

  body.ds-2026 .template-page .catalog-preview .template-png-thumb,
  body.ds-2026 .template-page .catalog-preview .template-thumb-img,
  body.ds-2026 .template-page .catalog-preview img,
  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview .template-png-thumb,
  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview .template-thumb-img,
  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-preview img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    object-position: top center !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
  }

  body.ds-2026 .template-page .catalog-hover-scrim {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    background: rgba(15, 23, 42, 0.18);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms var(--ds-ease2);
  }

  body.ds-2026 .template-page .catalog-hover-actions {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(74px, 0.8fr) minmax(104px, 1.2fr) 42px;
    gap: 8px;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 180ms var(--ds-ease2), transform 180ms var(--ds-ease2), visibility 180ms var(--ds-ease2);
  }

  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-hover-scrim,
  body.ds-2026 .template-page .selection-catalog-card:focus-within .catalog-hover-scrim {
    opacity: 1;
  }

  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-hover-actions,
  body.ds-2026 .template-page .selection-catalog-card:focus-within .catalog-hover-actions {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  body.ds-2026 .template-page .catalog-hover-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 5px 16px rgba(15, 23, 42, 0.14);
    transition: background 160ms var(--ds-ease2), border-color 160ms var(--ds-ease2), color 160ms var(--ds-ease2), transform 120ms var(--ds-ease2);
  }

  body.ds-2026 .template-page .catalog-hover-button:active {
    transform: scale(0.98);
  }

  body.ds-2026 .template-page .catalog-hover-button:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
  }

  body.ds-2026 .template-page .catalog-hover-button .ui-icon {
    width: 16px;
    height: 16px;
  }

  body.ds-2026 .template-page .catalog-hover-preview,
  body.ds-2026 .template-page .catalog-hover-favorite {
    background: rgba(255, 255, 255, 0.96);
    color: #1f2329;
  }

  body.ds-2026 .template-page .catalog-hover-preview:hover,
  body.ds-2026 .template-page .catalog-hover-favorite:hover {
    border-color: #ffffff;
    background: #ffffff;
    color: #2563eb;
  }

  body.ds-2026 .template-page .catalog-hover-use {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
  }

  body.ds-2026 .template-page .catalog-hover-use:hover {
    border-color: #1d4ed8;
    background: #1d4ed8;
  }

  body.ds-2026 .template-page .catalog-hover-favorite {
    width: 42px;
    padding: 0;
  }

  body.ds-2026 .template-page .catalog-hover-favorite.is-favorite {
    color: #2563eb;
  }

  body.ds-2026 .template-page .catalog-hover-favorite.is-favorite .ui-icon {
    fill: currentColor;
  }

  body.ds-2026 .template-page .catalog-selected-mark {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #2563eb;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.28);
    opacity: 0;
    transform: scale(0.86);
    transition: opacity 160ms var(--ds-ease2), transform 160ms var(--ds-ease2);
  }

  body.ds-2026 .template-page .selection-catalog-card.active .catalog-selected-mark {
    opacity: 1;
    transform: none;
  }

  body.ds-2026 .template-page .catalog-selected-mark .ui-icon {
    width: 15px;
    height: 15px;
    stroke-width: 2.8;
  }

  body.ds-2026 .template-page .selection-catalog-meta {
    display: block !important;
    padding: 13px 4px 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.ds-2026 .template-page .catalog-desktop-meta {
    display: block !important;
  }

  body.ds-2026 .template-page .catalog-simple-title {
    margin: 0 !important;
    overflow: hidden;
    color: #1f2329;
    font-size: 17px !important;
    font-weight: 650 !important;
    line-height: 24px !important;
    white-space: nowrap;
    text-overflow: ellipsis;
    transition: color 160ms var(--ds-ease2);
  }

  body.ds-2026 .template-page .selection-catalog-card:hover .catalog-simple-title,
  body.ds-2026 .template-page .selection-catalog-card.active .catalog-simple-title {
    color: #2563eb;
  }

  body.ds-2026 .template-page .catalog-actions {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) and (min-width: 1024px) {
  body.ds-2026 .template-page .catalog-hover-scrim,
  body.ds-2026 .template-page .catalog-hover-actions,
  body.ds-2026 .template-page .catalog-hover-button,
  body.ds-2026 .template-page .catalog-selected-mark,
  body.ds-2026 .template-page .catalog-simple-title,
  body.ds-2026 .template-page .catalog-preview {
    transition-duration: 0.001ms !important;
  }
}

/* PC 模板库 v135：修复窄桌面/浏览器缩放下操作条继承旧内边距并溢出。 */
@media (min-width: 1024px) {
  body.ds-2026 .template-page .catalog-hover-actions {
    box-sizing: border-box !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.ds-2026 .template-page .catalog-hover-actions .catalog-hover-button {
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: auto !important;
    height: 42px !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  body.ds-2026 .template-page .catalog-hover-actions .catalog-hover-favorite {
    width: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
  body.ds-2026 .template-page .template-catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
  }

  body.ds-2026 .template-page .catalog-hover-actions {
    right: 10px !important;
    bottom: 10px !important;
    left: 10px !important;
    grid-template-columns: minmax(64px, 0.85fr) minmax(94px, 1.15fr) 40px !important;
    gap: 6px !important;
  }

  body.ds-2026 .template-page .catalog-hover-actions .catalog-hover-button {
    height: 40px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
  }

  body.ds-2026 .template-page .catalog-hover-actions .catalog-hover-favorite {
    width: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
  }
}

/* ============================================================================
   PC interaction stability + content-first libraries v137
   Removes press/hover displacement, keeps the shared header node stable, and
   aligns examples, saved resumes and analysis selection with the current DS.
   ============================================================================ */
.resume-asset-hover-scrim,
.resume-asset-hover-actions {
  display: none;
}

@media (min-width: 1024px) {
  /* Buttons may change color/elevation, but never their geometry while pressed. */
  body.ds-2026 button,
  body.ds-2026 [role="button"] {
    transition-property: color, background-color, border-color, box-shadow, opacity, filter !important;
  }
  body.ds-2026 button:hover,
  body.ds-2026 button:active,
  body.ds-2026 [role="button"]:hover,
  body.ds-2026 [role="button"]:active {
    transform: none !important;
  }
  body.ds-2026 :is(.selection-catalog-card, .ai-sample-card, .resume-asset-card):hover,
  body.ds-2026 :is(.selection-catalog-card, .ai-sample-card, .resume-asset-card):active {
    transform: none !important;
  }

  /* The active underline owns a fixed slot; route state only changes paint. */
  body.ds-2026 .topbar .main-nav button,
  body.ds-2026 .topbar .main-nav button::after {
    transition-property: color, background-color, opacity !important;
    transform-origin: center !important;
  }

  /* Search and popular roles share one centered reading axis. */
  body.ds-2026 .unified-library-page .ai-sample-search-panel {
    padding: 24px 28px !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-search-row {
    display: grid !important;
    grid-template-columns: minmax(0, 760px) 132px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    max-width: 920px !important;
    margin: 0 auto !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-examples {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    max-width: 980px !important;
    margin: 14px auto 0 !important;
    padding: 0 !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-examples-label {
    color: var(--ds-text-3, #8a94a6) !important;
    font-size: 13px !important;
    line-height: 34px !important;
  }

  /* Job examples are copy-first: no tiny template thumbnail, no overlapping footer. */
  body.ds-2026 .unified-library-page .ai-sample-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-card,
  body.ds-2026 .unified-library-page .ai-sample-card:hover {
    display: flex !important;
    min-height: 408px !important;
    box-sizing: border-box !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 24px !important;
    overflow: hidden !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 16px !important;
    background: #fff !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-thumb {
    display: none !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-card-body {
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 0 !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-card-body h3 {
    display: -webkit-box !important;
    min-height: 52px !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-card-body > p {
    display: -webkit-box !important;
    min-height: 44px !important;
    margin: 8px 0 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-copy-preview {
    min-height: 220px !important;
    height: auto !important;
    flex: 0 0 auto !important;
    margin-top: 16px !important;
    padding: 14px 0 !important;
    overflow: hidden !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-copy-preview p {
    display: block !important;
    height: 66px !important;
    max-height: 66px !important;
    overflow: hidden !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-tags {
    min-height: 28px !important;
    margin-top: 12px !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-actions {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    min-height: 40px !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin-top: auto !important;
    padding: 16px 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* My resumes mirrors the template gallery: resume first, name second. */
  body.ds-2026 .rv-mine .resume-assets-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 30px 20px !important;
  }
  body.ds-2026 .rv-mine .resume-asset-card,
  body.ds-2026 .rv-mine .resume-asset-card:hover,
  body.ds-2026 .rv-mine .resume-asset-card.menu-open {
    display: flex !important;
    min-height: 0 !important;
    overflow: visible !important;
    flex-direction: column !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.ds-2026 .rv-mine .resume-asset-preview,
  body.ds-2026 .rv-mine .resume-asset-preview:hover {
    position: relative !important;
    width: 100% !important;
    max-height: none !important;
    aspect-ratio: 210 / 297 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 14px !important;
    background: #f4f6f9 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px rgba(30, 55, 90, .07) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    transition: border-color 180ms var(--ds-ease2), box-shadow 180ms var(--ds-ease2) !important;
  }
  body.ds-2026 .rv-mine .resume-asset-card:hover .resume-asset-preview,
  body.ds-2026 .rv-mine .resume-asset-card:focus-within .resume-asset-preview {
    border-color: #91b5f2 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 14px 34px rgba(30, 74, 132, .13) !important;
  }
  body.ds-2026 .rv-mine .resume-asset-live {
    top: 0 !important;
    width: 650px !important;
    transform: translateX(-50%) scale(var(--mine-asset-scale, .45)) !important;
    transform-origin: top center !important;
  }
  body.ds-2026 .rv-mine .resume-asset-preview-hit {
    z-index: 2 !important;
    border-radius: 14px !important;
  }
  body.ds-2026 .rv-mine .resume-asset-hover-scrim {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    display: block !important;
    border-radius: 13px !important;
    background: rgba(15, 23, 42, .2) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 180ms var(--ds-ease2) !important;
  }
  body.ds-2026 .rv-mine .resume-asset-hover-actions {
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    z-index: 4 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px !important;
    gap: 8px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
    transition: opacity 180ms var(--ds-ease2), transform 180ms var(--ds-ease2), visibility 180ms var(--ds-ease2) !important;
  }
  body.ds-2026 .rv-mine .resume-asset-card:hover .resume-asset-hover-scrim,
  body.ds-2026 .rv-mine .resume-asset-card:focus-within .resume-asset-hover-scrim {
    opacity: 1 !important;
  }
  body.ds-2026 .rv-mine .resume-asset-card:hover .resume-asset-hover-actions,
  body.ds-2026 .rv-mine .resume-asset-card:focus-within .resume-asset-hover-actions,
  body.ds-2026 .rv-mine .resume-asset-card.menu-open .resume-asset-hover-actions {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  body.ds-2026 .rv-mine .resume-asset-hover-button {
    display: inline-flex !important;
    min-width: 0 !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(255, 255, 255, .92) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #1f2329 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: 0 5px 16px rgba(15, 23, 42, .14) !important;
  }
  body.ds-2026 .rv-mine .resume-asset-hover-edit {
    border-color: #2563eb !important;
    background: #2563eb !important;
    color: #fff !important;
  }
  body.ds-2026 .rv-mine .resume-asset-hover-menu {
    width: 42px !important;
    padding: 0 !important;
  }
  body.ds-2026 .rv-mine .resume-asset-hover-button .ui-icon {
    width: 16px !important;
    height: 16px !important;
  }
  body.ds-2026 .rv-mine .resume-asset-content {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    padding: 13px 4px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  body.ds-2026 .rv-mine .resume-asset-title {
    padding: 0 !important;
  }
  body.ds-2026 .rv-mine .resume-asset-title h3 {
    margin: 0 !important;
    overflow: hidden !important;
    color: #1f2329 !important;
    font-size: 17px !important;
    font-weight: 650 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    transition: color 160ms var(--ds-ease2) !important;
  }
  body.ds-2026 .rv-mine .resume-asset-card:hover .resume-asset-title h3 {
    color: #2563eb !important;
  }
  body.ds-2026 .rv-mine :is(.resume-asset-label, .resume-asset-content > p, .resume-asset-status, .resume-asset-actions, .asset-menu-btn) {
    display: none !important;
  }
  body.ds-2026 .rv-mine .resume-asset-content > .more-menu {
    top: 42px !important;
    right: 4px !important;
    z-index: 8 !important;
  }
  body.ds-2026 .rv-mine .resume-asset-content > .export-submenu {
    top: 76px !important;
    right: 4px !important;
    z-index: 9 !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
  body.ds-2026 .rv-mine .resume-assets-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
  }
}

/* ==========================================================================
   Resume card popup menu anchor v144 · desktop only
   More and export formats are mutually exclusive and stay inside the preview.
   ========================================================================== */
@media (min-width: 1024px) {
  body.ds-2026 .rv-mine .resume-asset-card.menu-open .resume-asset-hover-scrim {
    opacity: 1 !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > :is(.more-menu, .export-submenu) {
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    bottom: 62px !important;
    z-index: 7 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dce3ed !important;
    border-radius: 12px !important;
    background: #fff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .18) !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > .more-menu {
    right: 12px !important;
    width: 172px !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > .export-submenu {
    right: 62px !important;
    width: 150px !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > :is(.more-menu, .export-submenu) button {
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 0 !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    background: #fff !important;
    transform: none !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > :is(.more-menu, .export-submenu) button:hover,
  body.ds-2026 .rv-mine .resume-asset-preview > :is(.more-menu, .export-submenu) button:focus-visible {
    background: #f3f6fb !important;
    color: #1d4ed8 !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > .more-menu .danger-item {
    color: #dc3545 !important;
    background: #fff !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > .more-menu .danger-item:hover,
  body.ds-2026 .rv-mine .resume-asset-preview > .more-menu .danger-item:focus-visible {
    background: #fff3f3 !important;
    color: #c42e3b !important;
  }

  body.ds-2026 .rv-mine .resume-asset-preview > .more-menu .menu-sep {
    margin: 5px 0 !important;
    background: #e7ebf1 !important;
  }
}

/* Functional resume picker for the public analysis page. */
body.ds-2026 .modal.analysis-resume-picker-modal {
  width: min(920px, calc(100vw - 32px)) !important;
  max-height: min(820px, calc(100vh - 32px)) !important;
  padding: 28px !important;
  overflow: hidden auto !important;
  border-radius: 18px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.ds-2026 .analysis-resume-picker-head h3 {
  margin: 6px 0 6px !important;
  color: var(--ds-text, #1f2329) !important;
  font-size: 24px !important;
  font-weight: 650 !important;
}
body.ds-2026 .analysis-resume-picker-head p {
  margin: 0 !important;
  color: var(--ds-text-2, #667085) !important;
  font-size: 14px !important;
}
body.ds-2026 .analysis-resume-picker-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 22px !important;
}
body.ds-2026 .analysis-resume-option {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  border: 1px solid #dfe5ee !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(30, 55, 90, .06) !important;
}
body.ds-2026 .analysis-resume-option:hover,
body.ds-2026 .analysis-resume-option.is-selected {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .11), 0 10px 26px rgba(30, 74, 132, .10) !important;
}
body.ds-2026 .analysis-resume-option-preview {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 210 / 250 !important;
  overflow: hidden !important;
  background: #f4f6f9 !important;
}
body.ds-2026 .analysis-resume-option-preview .resume-asset-live {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 650px !important;
  transform: translateX(-50%) scale(.285) !important;
  transform-origin: top center !important;
  pointer-events: none !important;
}
body.ds-2026 .analysis-resume-option-preview :is(.preview-inline-toolbar, .preview-ai-result) {
  display: none !important;
}
body.ds-2026 .analysis-resume-option-preview .preview-editable-block {
  outline: 0 !important;
  box-shadow: none !important;
}
body.ds-2026 .analysis-resume-option-meta {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 14px 14px !important;
}
body.ds-2026 .analysis-resume-option-meta b {
  overflow: hidden !important;
  color: #1f2329 !important;
  font-size: 15px !important;
  line-height: 22px !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
body.ds-2026 .analysis-resume-option-meta small {
  color: #8a94a6 !important;
  font-size: 12px !important;
}
body.ds-2026 .analysis-resume-option-check {
  position: absolute !important;
  top: 9px !important;
  right: 9px !important;
  display: inline-flex !important;
  width: 24px !important;
  height: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: #2563eb !important;
  color: #fff !important;
  opacity: 0 !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, .28) !important;
}
body.ds-2026 .analysis-resume-option.is-selected .analysis-resume-option-check {
  opacity: 1 !important;
}
body.ds-2026 .analysis-resume-option-check .ui-icon {
  width: 14px !important;
  height: 14px !important;
}
body.ds-2026 .analysis-resume-picker-footer {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--ds-divider, #edf0f4) !important;
}

@media (max-width: 820px) {
  body.ds-2026 .analysis-resume-picker-modal {
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 22px 18px !important;
  }
  body.ds-2026 .analysis-resume-picker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.ds-2026 .analysis-resume-option-preview {
    aspect-ratio: 210 / 220 !important;
  }
  body.ds-2026 .analysis-resume-option-preview .resume-asset-live {
    transform: translateX(-50%) scale(.24) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .resume-asset-hover-scrim,
  body.ds-2026 .resume-asset-hover-actions,
  body.ds-2026 .resume-asset-title h3 {
    transition-duration: .001ms !important;
  }
}

/* PC template gallery v139: cards are not selectable; actions appear on hover/focus. */
@media (min-width: 1024px) {
  body.ds-2026 .template-page .catalog-selected-mark {
    display: none !important;
  }

  body.ds-2026 .template-page .selection-catalog-card.active .catalog-preview,
  body.ds-2026 .template-page .selection-catalog-card.active:hover .catalog-preview {
    border-color: #dfe5ee !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px rgba(30, 55, 90, .07) !important;
  }

  body.ds-2026 .template-page .selection-catalog-card.active .catalog-simple-title {
    color: #1f2329 !important;
  }

  body.ds-2026 .template-page .selection-catalog-card.active:hover .catalog-simple-title,
  body.ds-2026 .template-page .selection-catalog-card.active:focus-within .catalog-simple-title {
    color: #2563eb !important;
  }
}

/* PC job sample library v140: complete-resume carousel with stable slide geometry. */
.ai-sample-carousel {
  display: none;
}

@media (min-width: 1024px) {
  body.ds-2026 .unified-library-page .ai-sample-grid-mobile {
    display: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-carousel {
    display: block;
    min-width: 0;
  }

  body.ds-2026 .ai-sample-carousel-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
  }

  body.ds-2026 .ai-sample-carousel-toolbar > div:first-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
  }

  body.ds-2026 .ai-sample-carousel-toolbar strong {
    color: #1f2329;
    font-size: 15px;
    line-height: 22px;
  }

  body.ds-2026 .ai-sample-carousel-toolbar span {
    color: #8a94a6;
    font-size: 12px;
    line-height: 18px;
  }

  body.ds-2026 .ai-sample-carousel-nav {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
  }

  body.ds-2026 .ai-sample-carousel-nav > span {
    min-width: 42px;
    margin-right: 4px;
    color: #667085;
    font-variant-numeric: tabular-nums;
    text-align: right;
  }

  body.ds-2026 .ai-sample-carousel-nav button {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d8e0eb;
    border-radius: 50%;
    background: #fff;
    color: #4b5563;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
  }

  body.ds-2026 .ai-sample-carousel-nav button:hover:not(:disabled),
  body.ds-2026 .ai-sample-carousel-nav button:focus-visible {
    border-color: #7ca7ff;
    background: #f5f8ff;
    color: #2563eb;
    box-shadow: 0 4px 14px rgba(37, 99, 235, .12);
  }

  body.ds-2026 .ai-sample-carousel-nav button:disabled {
    cursor: default;
    opacity: .38;
  }

  body.ds-2026 .ai-sample-carousel-nav button.is-next .ui-icon {
    transform: rotate(180deg);
  }

  body.ds-2026 .ai-sample-carousel-track {
    display: flex;
    min-width: 0;
    gap: 20px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding: 2px 72px 18px 2px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-y;
  }

  body.ds-2026 .ai-sample-carousel-track::-webkit-scrollbar {
    display: none;
  }

  body.ds-2026 .sample-resume-slide {
    flex: 0 0 calc(100% - 86px);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe5ee;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(30, 55, 90, .08);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  body.ds-2026 .sample-resume-slide-head {
    display: flex;
    min-height: 146px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    padding: 24px 28px;
    border-bottom: 1px solid #e8edf4;
    background: #fff;
  }

  body.ds-2026 .sample-resume-slide-title {
    min-width: 0;
  }

  body.ds-2026 .sample-resume-slide-title > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 18px;
  }

  body.ds-2026 .sample-resume-slide-title > span b {
    display: inline-flex;
    min-width: 28px;
    justify-content: center;
    padding: 2px 7px;
    border-radius: 999px;
    background: #edf4ff;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    line-height: 18px;
  }

  body.ds-2026 .sample-resume-slide-title h3 {
    margin: 0;
    color: #1f2329;
    font-size: 24px;
    letter-spacing: -.02em;
    line-height: 34px;
  }

  body.ds-2026 .sample-resume-slide-title p {
    max-width: 760px;
    margin: 8px 0 0;
    color: #667085;
    font-size: 13px;
    line-height: 21px;
  }

  body.ds-2026 .sample-resume-slide-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    padding-top: 25px;
  }

  body.ds-2026 .sample-resume-slide-actions button {
    min-height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    white-space: nowrap;
  }

  body.ds-2026 .sample-resume-paper {
    display: grid;
    grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr);
    min-height: 570px;
    background: #fff;
  }

  body.ds-2026 .sample-resume-identity {
    min-width: 0;
    padding: 30px 26px;
    border-right: 1px solid #e8edf4;
    background: #f7f9fc;
  }

  body.ds-2026 .sample-resume-person h4 {
    margin: 0;
    color: #1f2329;
    font-size: 25px;
    letter-spacing: -.02em;
    line-height: 34px;
  }

  body.ds-2026 .sample-resume-person p {
    margin: 3px 0 0;
    color: #2563eb;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
  }

  body.ds-2026 .sample-resume-contact {
    display: grid;
    gap: 8px;
    margin: 22px 0 0;
    padding: 16px 0;
    border-top: 1px solid #dde4ee;
    border-bottom: 1px solid #dde4ee;
  }

  body.ds-2026 .sample-resume-contact > div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px;
  }

  body.ds-2026 .sample-resume-contact dt,
  body.ds-2026 .sample-resume-contact dd {
    margin: 0;
    font-size: 11px;
    line-height: 18px;
  }

  body.ds-2026 .sample-resume-contact dt {
    color: #8a94a6;
  }

  body.ds-2026 .sample-resume-contact dd {
    overflow-wrap: anywhere;
    color: #4b5563;
  }

  body.ds-2026 .sample-resume-side-section {
    margin-top: 22px;
  }

  body.ds-2026 .sample-resume-side-section h5,
  body.ds-2026 .sample-resume-section > h5 {
    margin: 0 0 12px;
    color: #1f2329;
    font-size: 14px;
    line-height: 22px;
  }

  body.ds-2026 .sample-resume-side-section h5 {
    padding-bottom: 8px;
    border-bottom: 2px solid #b9d1ff;
  }

  body.ds-2026 .sample-resume-education-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
  }

  body.ds-2026 .sample-resume-education-head b,
  body.ds-2026 .sample-resume-education-head time {
    color: #4b5563;
    font-size: 11px;
    line-height: 18px;
  }

  body.ds-2026 .sample-resume-education-head time {
    flex: 0 0 auto;
    color: #8a94a6;
    font-variant-numeric: tabular-nums;
  }

  body.ds-2026 .sample-resume-side-section p,
  body.ds-2026 .sample-resume-side-section small {
    display: block;
    margin: 4px 0 0;
    color: #667085;
    font-size: 11px;
    line-height: 18px;
  }

  body.ds-2026 .sample-resume-skill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  body.ds-2026 .sample-resume-skill-list span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 9px;
    border: 1px solid #dbe5f6;
    border-radius: 999px;
    background: #fff;
    color: #4b5563;
    font-size: 10px;
    line-height: 16px;
  }

  body.ds-2026 .sample-resume-main {
    min-width: 0;
    padding: 30px 32px 34px;
  }

  body.ds-2026 .sample-resume-section + .sample-resume-section {
    margin-top: 25px;
  }

  body.ds-2026 .sample-resume-section > h5 {
    display: flex;
    align-items: center;
    gap: 9px;
    padding-bottom: 9px;
    border-bottom: 1px solid #dfe5ee;
  }

  body.ds-2026 .sample-resume-section > h5 span {
    color: #2563eb;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
  }

  body.ds-2026 .sample-resume-summary p {
    margin: 0;
    color: #4b5563;
    font-size: 12px;
    line-height: 21px;
  }

  body.ds-2026 .sample-resume-entry + .sample-resume-entry {
    margin-top: 19px;
  }

  body.ds-2026 .sample-resume-entry-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
  }

  body.ds-2026 .sample-resume-entry-head > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
  }

  body.ds-2026 .sample-resume-entry-head b {
    color: #1f2329;
    font-size: 12px;
    line-height: 19px;
  }

  body.ds-2026 .sample-resume-entry-head span,
  body.ds-2026 .sample-resume-entry-head time {
    color: #8a94a6;
    font-size: 10px;
    line-height: 17px;
  }

  body.ds-2026 .sample-resume-entry-head time {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
  }

  body.ds-2026 .sample-resume-entry ul {
    display: grid;
    gap: 3px;
    margin: 8px 0 0;
    padding-left: 16px;
  }

  body.ds-2026 .sample-resume-entry li {
    color: #4b5563;
    font-size: 11px;
    line-height: 19px;
  }

  body.ds-2026 .ai-sample-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 2px;
  }

  body.ds-2026 .ai-sample-carousel-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cbd4e1;
    transition: width .18s ease, background-color .18s ease;
  }

  body.ds-2026 .ai-sample-carousel-dots button.active {
    width: 24px;
    background: #2563eb;
  }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .sample-resume-paper {
    grid-template-columns: 230px minmax(0, 1fr);
  }

  body.ds-2026 .sample-resume-slide-head {
    gap: 20px;
    padding-inline: 24px;
  }

  body.ds-2026 .sample-resume-slide-title h3 {
    font-size: 21px;
    line-height: 30px;
  }

  body.ds-2026 .sample-resume-slide-actions button {
    padding-inline: 14px;
  }

  body.ds-2026 .sample-resume-identity {
    padding-inline: 20px;
  }

  body.ds-2026 .sample-resume-main {
    padding-inline: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .ai-sample-carousel-track {
    scroll-behavior: auto !important;
  }

  body.ds-2026 .ai-sample-carousel-nav button,
  body.ds-2026 .ai-sample-carousel-dots button {
    transition-duration: .001ms !important;
  }
}

/* PC real resume analysis v141: source -> target role -> evidence -> recommendations. */
.analysis-real-desktop,
.analysis-resume-target {
  display: none;
}

body.ds-2026 .analysis-resume-picker-footer > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (min-width: 1024px) {
  body.ds-2026 .rv-analysis-public .analysis-deep-legacy-v131 {
    display: none !important;
  }

  body.ds-2026 .rv-analysis-public .analysis-real-desktop {
    display: block;
  }

  body.ds-2026 .analysis-real-heading {
    display: flex;
    min-height: 112px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
    margin-bottom: 24px;
  }

  body.ds-2026 .analysis-real-heading > div > span {
    display: block;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: .04em;
  }

  body.ds-2026 .analysis-real-heading h1 {
    margin: 0 !important;
    color: #1f2329 !important;
    font-size: 34px !important;
    font-weight: 680 !important;
    letter-spacing: -.55px !important;
    line-height: 1.24 !important;
  }

  body.ds-2026 .analysis-real-heading > p {
    max-width: 470px;
    margin: 0 0 4px;
    color: #667085;
    font-size: 14px;
    line-height: 1.75;
  }

  body.ds-2026 .analysis-real-start {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    gap: 18px;
    align-items: stretch;
  }

  body.ds-2026 .analysis-real-source,
  body.ds-2026 .analysis-real-preview,
  body.ds-2026 .analysis-real-method,
  body.ds-2026 .analysis-real-report {
    border: 1px solid #dfe5ee;
    background: #fff;
    box-shadow: 0 6px 24px rgba(30, 55, 90, .06);
  }

  body.ds-2026 .analysis-real-source,
  body.ds-2026 .analysis-real-preview {
    min-height: 372px;
    box-sizing: border-box;
    border-radius: 18px;
  }

  body.ds-2026 .analysis-real-source {
    padding: 28px;
  }

  body.ds-2026 .analysis-real-preview {
    padding: 24px;
  }

  body.ds-2026 .analysis-real-block-title,
  body.ds-2026 .analysis-real-section-title > div,
  body.ds-2026 .analysis-real-card-head > div,
  body.ds-2026 .analysis-real-strengths > div:first-child {
    display: flex;
    align-items: flex-start;
    gap: 12px;
  }

  body.ds-2026 .analysis-real-block-title > span,
  body.ds-2026 .analysis-real-section-title > div > span,
  body.ds-2026 .analysis-real-card-head > div > span,
  body.ds-2026 .analysis-real-strengths > div:first-child > span {
    display: inline-flex;
    width: 30px;
    height: 24px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #edf4ff;
    color: #2563eb;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
  }

  body.ds-2026 .analysis-real-block-title h2,
  body.ds-2026 .analysis-real-section-title h2,
  body.ds-2026 .analysis-real-card-head h3,
  body.ds-2026 .analysis-real-strengths h3 {
    margin: 0;
    color: #1f2329;
    font-weight: 650;
  }

  body.ds-2026 .analysis-real-block-title h2,
  body.ds-2026 .analysis-real-section-title h2 {
    font-size: 20px;
    line-height: 26px;
  }

  body.ds-2026 .analysis-real-block-title p {
    margin: 5px 0 0;
    color: #8a94a6;
    font-size: 12px;
    line-height: 18px;
  }

  body.ds-2026 .analysis-real-source-actions {
    display: grid;
    gap: 10px;
    margin-top: 22px;
  }

  body.ds-2026 .analysis-real-source-btn {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    min-height: 72px;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #dfe5ee;
    border-radius: 13px;
    background: #fff;
    color: #1f2329;
    text-align: left;
    box-shadow: none;
  }

  body.ds-2026 .analysis-real-source-btn:hover,
  body.ds-2026 .analysis-real-source-btn:focus-visible {
    border-color: #8fb4f5;
    background: #fbfdff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .08);
  }

  body.ds-2026 .analysis-real-source-btn.is-primary {
    border-color: #b9d1f8;
    background: #f7faff;
  }

  body.ds-2026 .analysis-real-source-btn > span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #edf4ff;
    color: #2563eb;
  }

  body.ds-2026 .analysis-real-source-btn .ui-icon {
    width: 17px;
    height: 17px;
  }

  body.ds-2026 .analysis-real-source-btn > div {
    min-width: 0;
  }

  body.ds-2026 .analysis-real-source-btn b,
  body.ds-2026 .analysis-real-source-btn small {
    display: block;
  }

  body.ds-2026 .analysis-real-source-btn b {
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    line-height: 21px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  body.ds-2026 .analysis-real-source-btn small {
    margin-top: 3px;
    color: #8a94a6;
    font-size: 11px;
    line-height: 17px;
  }

  body.ds-2026 .analysis-real-source-btn em {
    color: #2563eb;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    white-space: nowrap;
  }

  body.ds-2026 .analysis-real-safe {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 15px;
    margin-top: 18px;
    color: #8a94a6;
    font-size: 11px;
  }

  body.ds-2026 .analysis-real-safe span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  body.ds-2026 .analysis-real-safe .ui-icon {
    width: 13px;
    height: 13px;
    color: #16a34a;
  }

  body.ds-2026 .analysis-real-processing {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 14px;
    padding: 11px 12px;
    border-radius: 10px;
    background: #f5f8ff;
  }

  body.ds-2026 .analysis-real-processing > span {
    width: 18px;
    height: 18px;
    border: 2px solid #c8dafc;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: analysis-real-spin .75s linear infinite;
  }

  @keyframes analysis-real-spin { to { transform: rotate(360deg); } }

  body.ds-2026 .analysis-real-processing b,
  body.ds-2026 .analysis-real-processing small {
    display: block;
  }

  body.ds-2026 .analysis-real-processing b { color: #1f2329; font-size: 12px; }
  body.ds-2026 .analysis-real-processing small { margin-top: 2px; color: #8a94a6; font-size: 10px; }

  body.ds-2026 .analysis-real-preview-head {
    display: flex;
    min-height: 54px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e6ebf2;
  }

  body.ds-2026 .analysis-real-preview-head > div:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  body.ds-2026 .analysis-real-preview-head > div:first-child > span {
    color: #1f2329;
    font-size: 14px;
    font-weight: 600;
  }

  body.ds-2026 .analysis-real-preview-head > div:first-child > small {
    padding: 3px 8px;
    border-radius: 999px;
    background: #f2f4f7;
    color: #8a94a6;
    font-size: 10px;
  }

  body.ds-2026 .analysis-real-score {
    display: flex;
    align-items: baseline;
    gap: 4px;
  }

  body.ds-2026 .analysis-real-score strong { color: #1f2329; font-size: 34px; line-height: 1; }
  body.ds-2026 .analysis-real-score span { color: #8a94a6; font-size: 10px; }
  body.ds-2026 .analysis-real-score b { margin-left: 4px; color: #16a34a; font-size: 11px; }
  body.ds-2026 .analysis-real-wait { text-align: right; }
  body.ds-2026 .analysis-real-wait b,
  body.ds-2026 .analysis-real-wait span { display: block; }
  body.ds-2026 .analysis-real-wait b { color: #4b5563; font-size: 13px; }
  body.ds-2026 .analysis-real-wait span { margin-top: 3px; color: #98a2b3; font-size: 10px; }

  body.ds-2026 .analysis-real-preview-body {
    display: grid;
    gap: 10px;
    margin-top: 16px;
  }

  body.ds-2026 .analysis-real-mini-bar {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 9px;
    font-size: 11px;
  }

  body.ds-2026 .analysis-real-mini-bar span { color: #667085; }
  body.ds-2026 .analysis-real-mini-bar i { height: 6px; overflow: hidden; border-radius: 999px; background: #edf1f6; }
  body.ds-2026 .analysis-real-mini-bar em { display: block; width: var(--score); height: 100%; border-radius: inherit; background: #4f8df7; }
  body.ds-2026 .analysis-real-mini-bar b { color: #4b5563; font-size: 11px; text-align: right; }

  body.ds-2026 .analysis-real-check {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 29px;
    color: #4b5563;
    font-size: 12px;
  }

  body.ds-2026 .analysis-real-check > span {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #edf4ff;
    color: #2563eb;
  }

  body.ds-2026 .analysis-real-check .ui-icon { width: 13px; height: 13px; }

  body.ds-2026 .analysis-real-preview-foot {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 11px 12px;
    border: 1px solid #f0dfc8;
    border-radius: 11px;
    background: #fffaf3;
  }

  body.ds-2026 .analysis-real-preview-foot > span {
    padding: 4px 7px;
    border-radius: 6px;
    background: #fff0d9;
    color: #a3560b;
    font-size: 10px;
    font-weight: 650;
  }

  body.ds-2026 .analysis-real-preview-foot b,
  body.ds-2026 .analysis-real-preview-foot small { display: block; }
  body.ds-2026 .analysis-real-preview-foot b { color: #4b5563; font-size: 11px; }
  body.ds-2026 .analysis-real-preview-foot small { margin-top: 3px; color: #8a94a6; font-size: 10px; line-height: 15px; }

  body.ds-2026 .analysis-real-method,
  body.ds-2026 .analysis-real-report {
    margin-top: 26px;
    border-radius: 18px;
  }

  body.ds-2026 .analysis-real-method {
    padding: 26px;
  }

  body.ds-2026 .analysis-real-section-title,
  body.ds-2026 .analysis-real-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }

  body.ds-2026 .analysis-real-section-title > p,
  body.ds-2026 .analysis-real-card-head > small {
    margin: 0;
    color: #8a94a6;
    font-size: 11px;
  }

  body.ds-2026 .analysis-real-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
  }

  body.ds-2026 .analysis-real-method-grid article {
    min-height: 112px;
    padding: 17px;
    border: 1px solid #e3e8ef;
    border-radius: 13px;
    background: #fbfcfe;
  }

  body.ds-2026 .analysis-real-method-grid article > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  body.ds-2026 .analysis-real-method-grid b { color: #1f2329; font-size: 14px; }
  body.ds-2026 .analysis-real-method-grid span { color: #2563eb; font-size: 11px; font-weight: 650; }
  body.ds-2026 .analysis-real-method-grid p { margin: 10px 0 0; color: #667085; font-size: 11px; line-height: 18px; }

  body.ds-2026 .analysis-real-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e8edf4;
  }

  body.ds-2026 .analysis-real-flow article {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    border-right: 1px solid #e8edf4;
  }

  body.ds-2026 .analysis-real-flow article:first-child { padding-left: 0; }
  body.ds-2026 .analysis-real-flow article:last-child { border-right: 0; }
  body.ds-2026 .analysis-real-flow article > span { color: #2563eb; font-size: 18px; font-weight: 700; }
  body.ds-2026 .analysis-real-flow b { color: #4b5563; font-size: 12px; }
  body.ds-2026 .analysis-real-flow p { margin: 3px 0 0; color: #8a94a6; font-size: 10px; line-height: 15px; }

  body.ds-2026 .analysis-real-report {
    overflow: hidden;
  }

  body.ds-2026 .analysis-real-report-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    padding: 24px 26px;
    border-bottom: 1px solid #e6ebf2;
    background: #fbfcff;
  }

  body.ds-2026 .analysis-real-report-score {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-right: 22px;
    border-right: 1px solid #dde4ee;
  }

  body.ds-2026 .analysis-real-report-score strong { color: #2563eb; font-size: 48px; line-height: 1; letter-spacing: -2px; }
  body.ds-2026 .analysis-real-report-score span b,
  body.ds-2026 .analysis-real-report-score span small { display: block; }
  body.ds-2026 .analysis-real-report-score span b { color: #16a34a; font-size: 12px; }
  body.ds-2026 .analysis-real-report-score span small { margin-top: 4px; color: #8a94a6; font-size: 10px; }
  body.ds-2026 .analysis-real-report-summary { min-width: 0; }
  body.ds-2026 .analysis-real-report-summary > span { color: #2563eb; font-size: 10px; font-weight: 650; }
  body.ds-2026 .analysis-real-report-summary h2 { margin: 4px 0 0; color: #1f2329; font-size: 22px; line-height: 30px; }
  body.ds-2026 .analysis-real-report-summary p { margin: 5px 0 0; color: #8a94a6; font-size: 11px; line-height: 17px; }
  body.ds-2026 .analysis-real-report-tools { display: flex; gap: 9px; }
  body.ds-2026 .analysis-real-report-tools button { min-height: 38px; padding: 0 15px; border-radius: 999px; }

  body.ds-2026 .analysis-real-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-bottom: 1px solid #e6ebf2;
  }

  body.ds-2026 .analysis-real-stat-grid > div {
    padding: 18px 22px;
    border-right: 1px solid #e6ebf2;
  }

  body.ds-2026 .analysis-real-stat-grid > div:last-child { border-right: 0; }
  body.ds-2026 .analysis-real-stat-grid b,
  body.ds-2026 .analysis-real-stat-grid span { display: block; }
  body.ds-2026 .analysis-real-stat-grid b { color: #1f2329; font-size: 21px; }
  body.ds-2026 .analysis-real-stat-grid span { margin-top: 3px; color: #8a94a6; font-size: 10px; }

  body.ds-2026 .analysis-real-report-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr);
    gap: 16px;
    padding: 24px 26px 0;
  }

  body.ds-2026 .analysis-real-dimensions,
  body.ds-2026 .analysis-real-keywords,
  body.ds-2026 .analysis-real-issues,
  body.ds-2026 .analysis-real-strengths {
    border: 1px solid #e1e7ef;
    border-radius: 14px;
    background: #fff;
  }

  body.ds-2026 .analysis-real-dimensions,
  body.ds-2026 .analysis-real-keywords {
    padding: 19px;
  }

  body.ds-2026 .analysis-real-card-head h3,
  body.ds-2026 .analysis-real-strengths h3 { font-size: 15px; line-height: 22px; }
  body.ds-2026 .analysis-real-card-head > b { color: #2563eb; font-size: 20px; }

  body.ds-2026 .analysis-real-dimension-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  body.ds-2026 .analysis-real-dimension-grid article {
    min-height: 142px;
    padding: 14px;
    border: 1px solid #e6ebf2;
    border-radius: 11px;
    background: #fbfcfe;
  }

  body.ds-2026 .analysis-real-dimension-grid article > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  body.ds-2026 .analysis-real-dimension-grid article > div b { color: #4b5563; font-size: 12px; }
  body.ds-2026 .analysis-real-dimension-grid article > div span { color: #8a94a6; font-size: 9px; }
  body.ds-2026 .analysis-real-dimension-grid strong { display: flex; align-items: baseline; gap: 7px; margin-top: 10px; color: #2563eb; font-size: 24px; }
  body.ds-2026 .analysis-real-dimension-grid strong small { color: #667085; font-size: 9px; font-weight: 600; }
  body.ds-2026 .analysis-real-dimension-grid i { display: block; height: 5px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: #e9eef5; }
  body.ds-2026 .analysis-real-dimension-grid em { display: block; width: var(--score); height: 100%; border-radius: inherit; background: #4f8df7; }
  body.ds-2026 .analysis-real-dimension-grid p { margin: 9px 0 0; color: #8a94a6; font-size: 10px; line-height: 16px; }

  body.ds-2026 .analysis-real-keywords > p { margin: 14px 0 0; color: #667085; font-size: 11px; line-height: 17px; }
  body.ds-2026 .analysis-real-keywords > small { display: block; margin-top: 16px; color: #98a2b3; font-size: 9px; line-height: 15px; }
  body.ds-2026 .analysis-real-keyword-group { margin-top: 16px; }
  body.ds-2026 .analysis-real-keyword-group > span { display: block; margin-bottom: 7px; color: #8a94a6; font-size: 10px; }
  body.ds-2026 .analysis-real-keyword-group > div { display: flex; flex-wrap: wrap; gap: 6px; }
  body.ds-2026 .analysis-real-keyword-group b { padding: 4px 7px; border-radius: 999px; background: #f2f4f7; color: #667085; font-size: 9px; font-weight: 550; }
  body.ds-2026 .analysis-real-keyword-group b.is-hit { background: #eaf7ee; color: #15803d; }

  body.ds-2026 .analysis-real-issues {
    margin: 16px 26px 0;
    padding: 19px;
  }

  body.ds-2026 .analysis-real-issue-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
  }

  body.ds-2026 .analysis-real-issue-list article {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 14px;
    border: 1px solid #e6ebf2;
    border-left: 3px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
  }

  body.ds-2026 .analysis-real-issue-list article.is-high { border-left-color: #ef4444; }
  body.ds-2026 .analysis-real-issue-list article.is-medium { border-left-color: #f59e0b; }
  body.ds-2026 .analysis-real-issue-list article.is-low { border-left-color: #3b82f6; }
  body.ds-2026 .analysis-real-issue-rank span,
  body.ds-2026 .analysis-real-issue-rank b { display: block; }
  body.ds-2026 .analysis-real-issue-rank span { color: #98a2b3; font-size: 10px; font-weight: 700; }
  body.ds-2026 .analysis-real-issue-rank b { margin-top: 5px; color: #667085; font-size: 10px; }
  body.ds-2026 .analysis-real-issue-copy h4 { margin: 0; color: #1f2329; font-size: 13px; }
  body.ds-2026 .analysis-real-issue-copy p { margin: 5px 0 0; color: #667085; font-size: 10px; line-height: 16px; }
  body.ds-2026 .analysis-real-issue-copy p b { color: #4b5563; }
  body.ds-2026 .analysis-real-issue-copy small { display: block; margin-top: 5px; color: #98a2b3; font-size: 9px; }
  body.ds-2026 .analysis-real-issue-list article > button { min-height: 34px; padding: 0 12px; border: 1px solid #c9d7eb; border-radius: 999px; background: #fff; color: #2563eb; font-size: 10px; font-weight: 600; white-space: nowrap; }
  body.ds-2026 .analysis-real-issue-list article > button:hover { border-color: #2563eb; background: #f7faff; }

  body.ds-2026 .analysis-real-strengths {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 16px 26px 26px;
    padding: 17px 19px;
    background: #f8fbf9;
  }

  body.ds-2026 .analysis-real-strengths > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
  body.ds-2026 .analysis-real-strengths > div:last-child span { display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; border-radius: 999px; background: #eaf7ee; color: #15803d; font-size: 9px; }
  body.ds-2026 .analysis-real-strengths .ui-icon { width: 12px; height: 12px; }

  body.ds-2026 .analysis-resume-target {
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
    gap: 14px;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #e3e8ef;
    border-radius: 13px;
    background: #f8fafc;
  }

  body.ds-2026 .analysis-resume-target label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 600;
  }

  body.ds-2026 .analysis-resume-target label b { color: #dc2626; font-size: 9px; }
  body.ds-2026 .analysis-resume-target label span { color: #8a94a6; font-size: 9px; font-weight: 400; }
  body.ds-2026 .analysis-resume-target .input { width: 100%; min-height: 40px; box-sizing: border-box; resize: vertical; border-color: #d7dee8; background: #fff; }
  body.ds-2026 .analysis-resume-picker-footer { display: flex !important; justify-content: space-between !important; }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .analysis-real-heading { gap: 30px; }
  body.ds-2026 .analysis-real-heading > p { max-width: 420px; }
  body.ds-2026 .analysis-real-start { grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); }
  body.ds-2026 .analysis-real-source { padding: 24px; }
  body.ds-2026 .analysis-real-report-grid { grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr); }
  body.ds-2026 .analysis-real-report-tools { flex-direction: column; }
}

@media (max-width: 820px) {
  body.ds-2026 .analysis-resume-picker-footer > [data-action="import"] { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .analysis-real-processing > span { animation-duration: .001ms !important; }
}

/* v145 final cascade guard: legacy VIP layers above may not re-style the new checkout shell. */
@media (min-width: 1024px) {
  body.ds-2026 .modal-mask.vip-purchase-mask {
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(15, 23, 42, .42) !important;
    -webkit-backdrop-filter: blur(8px) saturate(105%) !important;
    backdrop-filter: blur(8px) saturate(105%) !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal.vip-purchase-modal {
    width: min(1020px, calc(100vw - 48px)) !important;
    max-width: 1020px !important;
    max-height: calc(100vh - 48px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden auto !important;
    border: 1px solid rgba(203, 213, 225, .9) !important;
    border-radius: 20px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22), 0 2px 10px rgba(15, 23, 42, .08) !important;
    transform: none !important;
  }
  body.ds-2026 .modal.vip-upgrade-modal.vip-purchase-modal::before { display: none !important; }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .modal.vip-upgrade-modal.vip-purchase-modal {
    width: calc(100vw - 32px) !important;
    max-height: calc(100vh - 32px) !important;
  }
}
/* ============================================================================
   PC performance batch 2 · desktop only
   Skip layout and paint work for homepage bands that are outside the viewport.
   ============================================================================ */
@media (min-width: 1024px) {
  body.ds-2026 .dsh-home main > section:not(.dsh-hero),
  body.ds-2026 .dsh-home .site-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 720px;
  }

  body.ds-2026 .dsh-home .site-footer {
    contain-intrinsic-size: auto 360px;
  }
}

/* ============================================================================
   PC structure, export and editor interaction closure v148 · desktop only
   ============================================================================ */
.dsh-hero-resume-live { display: none; }

@media (min-width: 1024px) {
  /* The first product screen always fits below the shared 64px header. */
  body.ds-2026 .dsh-home .dsh-hero {
    box-sizing: border-box !important;
    height: calc(100svh - 64px) !important;
    min-height: 700px !important;
    max-height: 900px !important;
    padding: 30px 0 !important;
  }
  body.ds-2026 .dsh-home .dsh-hero .dsh-wrap {
    height: 100% !important;
    min-height: 0 !important;
    grid-template-columns: minmax(330px, .70fr) minmax(0, 1.30fr) !important;
    column-gap: 46px !important;
  }
  body.ds-2026 .dsh-home .dsh-hero h1 {
    font-size: clamp(42px, 3.35vw, 54px) !important;
    line-height: 1.1 !important;
  }
  body.ds-2026 .dsh-home .dsh-lead {
    max-width: 430px !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
  }
  body.ds-2026 .dsh-home .dsh-micro {
    max-width: 470px !important;
    font-size: 12px !important;
  }
  body.ds-2026 .dsh-home .dsh-steps { display: none !important; }
  body.ds-2026 .dsh-home .dsh-stage {
    max-width: none !important;
    height: min(690px, calc(100svh - 116px)) !important;
  }
  body.ds-2026 .dsh-home .dsh-frame {
    height: 100% !important;
    border-radius: 18px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-bar { display: none !important; }
  body.ds-2026 .dsh-home .dsh-frame-body {
    height: 100% !important;
    grid-template-columns: minmax(0, 1fr) 228px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-shot {
    min-width: 0 !important;
    padding: 14px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    background: #eef3f7 !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-shot > img { display: none !important; }
  body.ds-2026 .dsh-home .dsh-hero-resume-live {
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    place-items: center !important;
    overflow: hidden !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-resume-live .real-template {
    width: auto !important;
    height: 100% !important;
    max-width: 100% !important;
    border-radius: 5px !important;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .08), 0 14px 34px rgba(30, 55, 90, .12) !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-resume-live .virtual-avatar img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }
  body.ds-2026 .dsh-home .dsh-scan-overlay { inset: 14px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai {
    min-width: 0 !important;
    padding: 18px 16px !important;
    gap: 10px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk {
    padding: 10px !important;
    font-size: 11px !important;
  }

  /* Template library: title removed and only role/style remain effective on PC. */
  body.ds-2026 .template-page > .selection-page-header { display: none !important; }
  body.ds-2026 .template-page .template-filter-optional { display: none !important; }
  body.ds-2026 .template-page.selection-page {
    padding-top: 24px !important;
  }
  body.ds-2026 .template-page .selection-filter-panel {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    margin: 0 0 22px !important;
    padding: 16px 20px !important;
  }
  body.ds-2026 .template-page .selection-filter-panel .filter-group {
    min-height: 48px !important;
    padding: 4px 0 !important;
    border: 0 !important;
  }
  body.ds-2026 .template-page .selection-results-panel { margin-top: 0 !important; }

  /* Job examples: search is an unboxed, centered top control. */
  body.ds-2026 .ai-page .selection-page-header { display: none !important; }
  body.ds-2026 .ai-page .ai-overview { padding-top: 28px !important; }
  body.ds-2026 .unified-library-page .ai-sample-search-panel {
    width: min(880px, 100%) !important;
    margin: 0 auto 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-search-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 132px !important;
    gap: 12px !important;
    align-items: center !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-search-input {
    height: 48px !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(30, 55, 90, .06) !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-search-row > button {
    height: 48px !important;
    border-radius: 12px !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-examples {
    justify-content: center !important;
    margin-top: 12px !important;
  }
  body.ds-2026 .unified-library-page .ai-sample-examples::before {
    content: "热门岗位";
    align-self: center;
    color: #8a94a6;
    font-size: 12px;
  }
  body.ds-2026 .unified-library-page .ai-sample-results { margin-top: 0 !important; }
  body.ds-2026 .ai-sample-results-head { width: min(900px, 100%) !important; margin-inline: auto !important; }

  /* One centered A4 sheet at a time, with the next sheet peeking like photos. */
  body.ds-2026 .ai-sample-carousel {
    --sample-a4-width: min(700px, calc(100vw - 230px));
    width: 100% !important;
  }
  body.ds-2026 .ai-sample-carousel-toolbar {
    width: min(900px, 100%) !important;
    margin-inline: auto !important;
  }
  body.ds-2026 .ai-sample-carousel-track {
    gap: 22px !important;
    padding: 2px calc((100% - var(--sample-a4-width)) / 2) 18px !important;
  }
  body.ds-2026 .sample-resume-slide {
    flex: 0 0 var(--sample-a4-width) !important;
    width: var(--sample-a4-width) !important;
    height: calc(var(--sample-a4-width) * 297 / 210) !important;
    min-height: 0 !important;
    border-radius: 16px !important;
    scroll-snap-align: center !important;
  }
  body.ds-2026 .sample-resume-slide-head {
    box-sizing: border-box !important;
    height: 150px !important;
    min-height: 150px !important;
    padding: 20px 24px !important;
  }
  body.ds-2026 .sample-resume-slide-title h3 {
    font-size: 21px !important;
    line-height: 29px !important;
  }
  body.ds-2026 .sample-resume-slide-title p {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }
  body.ds-2026 .sample-resume-slide-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    padding-top: 0 !important;
  }
  body.ds-2026 .sample-resume-slide-actions button { min-width: 126px !important; }
  body.ds-2026 .sample-resume-paper {
    height: calc(100% - 150px) !important;
    min-height: 0 !important;
    grid-template-columns: 212px minmax(0, 1fr) !important;
    overflow: hidden !important;
  }
  body.ds-2026 .sample-resume-identity { padding: 24px 20px !important; }
  body.ds-2026 .sample-resume-main { padding: 24px 26px 28px !important; }

  /* Stable editor dropdown geometry; prevents the 28px-wide collapsed menu. */
  body.ds-2026 .rv-editor.editor-deephire .editor-custom-select {
    min-width: 112px !important;
    width: 100% !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .editor-select-menu {
    left: 0 !important;
    right: auto !important;
    width: max(100%, 148px) !important;
    min-width: 148px !important;
    overflow-x: hidden !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .editor-select-menu-gender {
    width: 128px !important;
    min-width: 128px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .editor-select-trigger,
  body.ds-2026 .rv-editor.editor-deephire .editor-month-trigger {
    box-sizing: border-box !important;
    min-width: 0 !important;
    padding-right: 28px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .editor-month-menu {
    left: 0 !important;
    right: auto !important;
    width: 292px !important;
    max-width: calc(100vw - 56px) !important;
  }

  /* Inline AI panel now uses the same blue product language and compact controls. */
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-result {
    padding: 18px 20px 18px !important;
    background: #f8fbff !important;
    border-top-color: #dbe7f7 !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-result h4 {
    margin-bottom: 12px !important;
    color: #2563eb !important;
    font-size: 15px !important;
    font-weight: 600 !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-progress {
    gap: 6px !important;
    margin: 2px 36px 12px 0 !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-progress span {
    min-height: 28px !important;
    padding: 0 8px !important;
    background: #edf4ff !important;
    color: #46658f !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-progress span i {
    width: 6px !important;
    height: 6px !important;
    background: #4f8cff !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-result footer {
    justify-content: flex-end !important;
    gap: 8px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-result footer button {
    width: 80px !important;
    min-width: 80px !important;
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 10px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .inline-ai-result footer button.primary {
    border-color: #2563eb !important;
    background: #2563eb !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .preview-ai-result {
    border-top-color: #dbe7f7 !important;
    background: #f8fbff !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .preview-ai-result h4 { color: #2563eb !important; }
  body.ds-2026 .rv-editor.editor-deephire .preview-ai-result footer button {
    width: 58px !important;
    min-width: 58px !important;
    height: 28px !important;
    min-height: 28px !important;
    border-radius: 8px !important;
    line-height: 28px !important;
  }
  body.ds-2026 .rv-editor.editor-deephire .preview-ai-result footer button.primary {
    border-color: #2563eb !important;
    background: #2563eb !important;
  }

  /* Remaining compact dialogs share one calm PC surface instead of legacy skins. */
  body.ds-2026 .modal-mask:not(.vip-purchase-mask) {
    padding: 24px !important;
    background: rgba(15, 23, 42, .42) !important;
    -webkit-backdrop-filter: blur(8px) saturate(105%) !important;
    backdrop-filter: blur(8px) saturate(105%) !important;
  }
  body.ds-2026 .modal:is(.mini-modal, .name-modal-v143, .account-modal, .export-modal, .inline-rewrite-modal) {
    width: min(540px, calc(100vw - 48px)) !important;
    max-width: 540px !important;
    padding: 28px !important;
    border: 1px solid #dbe3ef !important;
    border-radius: 18px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 0 26px 72px rgba(15, 23, 42, .22), 0 2px 8px rgba(15, 23, 42, .06) !important;
  }
  body.ds-2026 .modal.name-modal-v143 .name-modal-symbol { display: none !important; }
  body.ds-2026 .modal.name-modal-v143 .name-modal-intro { display: block !important; }
  body.ds-2026 .modal.name-modal-v143 .name-modal-kicker {
    color: #2563eb !important;
    font-size: 12px !important;
  }
  body.ds-2026 .modal.name-modal-v143 .modal-standard-head h2 {
    margin-top: 4px !important;
    font-size: 24px !important;
  }
  body.ds-2026 .modal.name-modal-v143 .modal-standard-head > p { font-size: 13px !important; }
  body.ds-2026 .modal.name-modal-v143 .name-modal-field .input,
  body.ds-2026 .modal.export-modal :is(.export-select, .export-name-input) {
    height: 46px !important;
    border-radius: 10px !important;
  }
  body.ds-2026 .modal .close {
    top: 18px !important;
    right: 18px !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid #dbe3ef !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #667085 !important;
    box-shadow: none !important;
  }
  body.ds-2026 .modal .close:hover { background: #f5f8fc !important; color: #2563eb !important; }
  body.ds-2026 .export-submit[disabled] { cursor: wait !important; opacity: .72 !important; }
  body.ds-2026 .export-status-note {
    margin: 14px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    background: #edf4ff !important;
    color: #315b94 !important;
    font-size: 12px !important;
  }
}

@media (min-width: 1024px) and (max-height: 760px) {
  body.ds-2026 .dsh-home .dsh-hero { min-height: calc(100svh - 64px) !important; padding-block: 20px !important; }
  body.ds-2026 .dsh-home .dsh-stage { height: calc(100svh - 104px) !important; }
  body.ds-2026 .dsh-home .dsh-hero h1 { font-size: 40px !important; }
  body.ds-2026 .dsh-home .dsh-lead { margin-top: 12px !important; line-height: 1.55 !important; }
  body.ds-2026 .dsh-home .dsh-hero-actions { margin-top: 18px !important; }
}
/* ============================================================================
   DS-2026 质感层 v149 · Premium & Tech texture pass（桌面端）
   目标：Apple 式材质（毛玻璃/内高光/渐变描边）、科技氛围（极光底/微网格/辉光）、
        动效物理感（按压回弹/加载微光）。整段可独立回滚。
   ============================================================================ */
@media (min-width: 1024px) {

/* ---------- 1. 全局材质基线 ---------- */
/* 桌面滚动条精修 */
body.ds-2026::-webkit-scrollbar { width: 11px; }
body.ds-2026::-webkit-scrollbar-thumb {
  background: rgba(15, 23, 42, 0.18); border-radius: 6px;
  border: 3px solid transparent; background-clip: content-box;
}
body.ds-2026::-webkit-scrollbar-thumb:hover { background-color: rgba(15, 23, 42, 0.32); }
body.ds-2026::-webkit-scrollbar-track { background: transparent; }

/* 顶栏：更深的毛玻璃 + 发丝渐隐底线 */
body.ds-2026 .app-shell .topbar,
body.ds-2026 .boss-cv-shell > .topbar {
  -webkit-backdrop-filter: saturate(180%) blur(24px) !important;
  backdrop-filter: saturate(180%) blur(24px) !important;
  border-bottom: none !important;
  position: sticky;
}
body.ds-2026 .app-shell .topbar::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.10) 18%, rgba(15, 23, 42, 0.10) 82%, transparent);
  pointer-events: none;
}
body.ds-2026 .boss-cv-shell > .topbar.is-scrolled { box-shadow: 0 8px 24px -12px rgba(15, 23, 42, 0.10) !important; }

/* 按钮按压物理感（全站主/次按钮） */
body.ds-2026 .dsh-btn:active,
body.ds-2026 button.primary:active,
body.ds-2026 .primary.green:active,
body.ds-2026 .small-primary:active,
body.ds-2026 .outline:active,
body.ds-2026 .analysis-deep-editor:active { transform: scale(0.98) !important; transition-duration: 80ms !important; }

/* 弹窗：遮罩毛玻璃 + 弹窗顶部内高光（Apple sheet 质感） */
body.ds-2026 .modal-mask {
  background: rgba(15, 23, 42, 0.32) !important;
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
}
body.ds-2026 .modal-mask .modal {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85),
              0 0 0 1px rgba(15, 23, 42, 0.05),
              0 24px 64px rgba(15, 23, 42, 0.22) !important;
}

/* 图片位加载微光（shimmer）：模板/范文/演示缩略容器 */
body.ds-2026 .dsh-tpl-shot,
body.ds-2026 .catalog-preview,
body.ds-2026 .ai-sample-thumb {
  position: relative;
  background-image: linear-gradient(110deg, #f1f3f7 32%, #f9fafc 46%, #f1f3f7 60%) !important;
  background-size: 220% 100% !important;
  animation: dsShimmer 1.8s ease-in-out infinite;
}
@keyframes dsShimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }

/* ---------- 2. Hero 科技氛围（浅色极光底） ---------- */
body.ds-2026 .dsh-home .dsh-hero {
  background:
    radial-gradient(42% 38% at 30% -4%, rgba(37, 99, 235, 0.075), transparent 70%),
    radial-gradient(36% 34% at 74% 2%, rgba(6, 182, 212, 0.055), transparent 70%),
    radial-gradient(30% 30% at 92% 22%, rgba(124, 58, 237, 0.035), transparent 70%),
    #fff !important;
}
/* 演示卡：1px 蓝→青渐变描边（mask 技法）+ 强化立体 */
body.ds-2026 .dsh-frame { position: relative; }
body.ds-2026 .dsh-frame::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.30), rgba(15, 23, 42, 0.06) 38%, rgba(6, 182, 212, 0.22));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events: none; z-index: 4;
}
/* 扫描浮签毛玻璃化 */
body.ds-2026 .dsh-scan-caption {
  background: rgba(15, 23, 42, 0.55) !important;
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 2px 10px rgba(15, 23, 42, 0.24) !important;
  color: rgba(255, 255, 255, 0.94) !important;
}
/* 演示简历头像加载占位（避免灰圆闪烁感） */
body.ds-2026 .dsh-hero-resume-live .virtual-avatar {
  background: linear-gradient(150deg, #e8edf5, #d7dfeb);
  overflow: hidden;
}
/* AI 面板竞争力数字排版 */
body.ds-2026 .dsh-frame-ai .score b,
body.ds-2026 .dsh-live-demo [data-demo-score] {
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
}

/* ---------- 3. 深色区 Pro 材质（科技感主载体） ---------- */
body.ds-2026 .dsh-home .dsh-dark {
  background:
    radial-gradient(46% 60% at 50% 0%, rgba(37, 99, 235, 0.18), transparent 68%),
    radial-gradient(30% 42% at 88% 92%, rgba(6, 182, 212, 0.08), transparent 70%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.022) 0 1px, transparent 1px 44px),
    #0a0a0c !important;
}
/* 深色区大标题渐变白（Apple Pro 式） */
body.ds-2026 .dsh-dark .dsh-band-head h2 {
  background: linear-gradient(180deg, #ffffff 30%, #9ca3af 120%);
  -webkit-background-clip: text; background-clip: text; color: transparent !important;
}
/* 深色卡：悬停辉光 */
body.ds-2026 .dsh-dark-card { transition: transform 200ms cubic-bezier(0.2, 0, 0, 1), border-color 200ms, box-shadow 300ms; }
body.ds-2026 .dsh-dark-card:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 0 0 1px rgba(125, 180, 255, 0.16), 0 12px 40px rgba(37, 99, 235, 0.14) !important;
}
body.ds-2026 .dsh-dark-card svg { box-shadow: inset 0 0 0 1px rgba(125, 180, 255, 0.22), 0 0 18px rgba(37, 99, 235, 0.22); }

/* ---------- 4. 浅色卡片内高光（精致纸感） ---------- */
body.ds-2026 .catalog-card,
body.ds-2026 .ai-sample-card,
body.ds-2026 .resume-asset-card,
body.ds-2026 .analysis-deep-start,
body.ds-2026 .analysis-deep-report,
body.ds-2026 .dsh-ana-panel {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8),
              0 1px 2px rgba(0, 0, 0, 0.04),
              0 8px 24px rgba(10, 30, 80, 0.06) !important;
}
body.ds-2026 .catalog-card:hover,
body.ds-2026 .ai-sample-card:hover,
body.ds-2026 .resume-asset-card:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8),
              0 2px 4px rgba(0, 0, 0, 0.04),
              0 16px 40px rgba(10, 30, 80, 0.11) !important;
}

/* ---------- 5. 数据带 & 分区过渡 ---------- */
/* 数据带数字上加轻微渐变高光，保持深色可读 */
body.ds-2026 .dsh-stats .st b {
  background: linear-gradient(180deg, #111827 0%, #374151 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
body.ds-2026 .dsh-stats .vr {
  background: linear-gradient(180deg, transparent, #e2e6ec 30%, #e2e6ec 70%, transparent) !important;
  width: 1px !important;
}
/* 尾部 CTA：按钮外发光 */
body.ds-2026 .dsh-cta .dsh-btn-primary {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22),
              0 1px 2px rgba(30, 64, 175, 0.24),
              0 12px 40px rgba(37, 99, 235, 0.22);
}

/* ---------- 6. 编辑器材质 ---------- */
body.ds-2026 .editor-deephire-topbar {
  background: rgba(255, 255, 255, 0.82) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}
body.ds-2026 .editor-view .canvas-area .a4,
body.ds-2026 .editor-view [data-resume-canvas] {
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.05),
              0 2px 6px rgba(15, 23, 42, 0.10),
              0 32px 64px -16px rgba(15, 23, 42, 0.16) !important;
}

/* ---------- 7. 交互细节统一 ---------- */
/* 导航项 hover 的柔和过渡 */
body.ds-2026 .topbar .main-nav button { transition: color 150ms cubic-bezier(0.2, 0, 0, 1) !important; }
/* 收藏星与图标按钮 hover 微弹 */
body.ds-2026 .favorite-mini { transition: transform 150ms cubic-bezier(0.34, 1.56, 0.64, 1), border-color 150ms, color 150ms !important; }
body.ds-2026 .favorite-mini:hover { transform: scale(1.08); }
body.ds-2026 .favorite-mini:active { transform: scale(0.94); }
/* 下拉菜单入场 */
body.ds-2026 .more-menu, body.ds-2026 .export-submenu, body.ds-2026 .file-menu {
  animation: dsMenuIn 160ms cubic-bezier(0.2, 0, 0, 1);
  transform-origin: top right;
}
@keyframes dsMenuIn { from { opacity: 0; transform: translateY(-4px) scale(0.98); } to { opacity: 1; transform: none; } }

} /* end @media */

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .dsh-tpl-shot,
  body.ds-2026 .catalog-preview,
  body.ds-2026 .ai-sample-thumb { animation: none !important; }
  body.ds-2026 .more-menu, body.ds-2026 .export-submenu, body.ds-2026 .file-menu { animation: none !important; }
}
/* ============================================================================
   DS-2026 排版节奏层 v150 · Typography, spacing & rhythm pass（桌面端）
   原则：一套字阶（52/38/30/16/14/13/12）、一个分区节奏（104px）、
        标题→说明→内容的固定间距（14/52）、模块底部对齐、路由过渡。
   ============================================================================ */

/* ---------- 0. 路由切换过渡（配合 main.js applyViewTransition） ---------- */
@media (prefers-reduced-motion: no-preference) {
  body.ds-2026 .ds-view-enter > main,
  body.ds-2026 .ds-view-enter > .editor-body,
  body.ds-2026 .ds-view-enter > .editor-deephire-body {
    animation: dsViewIn 300ms cubic-bezier(0.2, 0, 0, 1) both;
  }
}
@keyframes dsViewIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

@media (min-width: 1024px) {

/* ---------- 1. 全局字阶与标题排版 ---------- */
/* 标题统一平衡断行，避免孤字 */
body.ds-2026 :is(h1, h2, h3) { text-wrap: balance; }

/* Hero display：52/1.14/-0.02em */
body.ds-2026 .dsh-home .dsh-hero h1 {
  font-size: clamp(44px, 3.4vw, 52px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
}
/* 首页区块标题：38/1.22/-0.015em，说明 16/1.7，间距 14 */
body.ds-2026 .dsh-band-head h2 {
  font-size: 38px !important; line-height: 1.22 !important;
  letter-spacing: -0.015em !important; font-weight: 700 !important;
}
body.ds-2026 .dsh-band-head .sub {
  font-size: 16px !important; line-height: 1.7 !important;
  margin-top: 14px !important; max-width: 560px; margin-left: auto; margin-right: auto;
}
body.ds-2026 .dsh-eyebrow {
  font-size: 13px !important; font-weight: 600 !important;
  letter-spacing: 0.14em !important; margin-bottom: 14px !important;
}
/* 分析区左对齐标题同字阶 */
body.ds-2026 .dsh-ana-copy h2 { font-size: 38px !important; line-height: 1.22 !important; letter-spacing: -0.015em !important; }

/* ---------- 2. 垂直节奏：分区 104，标题组→内容 52 ---------- */
body.ds-2026 .dsh-home .dsh-band { padding: 104px 0 !important; }
body.ds-2026 .dsh-home .dsh-dark { padding: 104px 0 !important; }
body.ds-2026 .dsh-band-head { margin-bottom: 52px !important; }
body.ds-2026 .dsh-home .dsh-cta { padding: 120px 0 72px !important; }
body.ds-2026 .dsh-cta h2 { font-size: 38px !important; line-height: 1.25 !important; letter-spacing: -0.015em !important; }
body.ds-2026 .dsh-cta p { margin: 18px 0 36px !important; font-size: 16px !important; }

/* Hero 左栏内部节奏：18 / 20 / 30 / 18 */
body.ds-2026 .dsh-home .dsh-chip { margin-bottom: 18px !important; }
body.ds-2026 .dsh-home .dsh-lead { margin-top: 20px !important; }
body.ds-2026 .dsh-home .dsh-hero-actions { margin-top: 30px !important; gap: 14px !important; }
body.ds-2026 .dsh-home .dsh-micro { margin-top: 18px !important; line-height: 2 !important; letter-spacing: 0.01em; }

/* 数据带：72 上 / 64 下，数字与标签 8px */
body.ds-2026 .dsh-home .dsh-stats { padding: 72px 0 64px !important; }
body.ds-2026 .dsh-stats .st b { font-size: 40px !important; line-height: 1.1 !important; }
body.ds-2026 .dsh-stats .st span {
  display: inline-block; margin-top: 8px !important;
  font-size: 13px !important; letter-spacing: 0.02em; color: #8a94a6 !important;
}

/* ---------- 3. 模块对齐 ---------- */
/* AI 能力四卡：内容拉伸、底部链接严格对齐 */
body.ds-2026 .dsh-dark-card { display: flex !important; flex-direction: column !important; align-items: flex-start !important; }
body.ds-2026 .dsh-dark-card p { flex: 1 1 auto !important; margin: 0 !important; }
body.ds-2026 .dsh-dark-card h3 { margin: 0 0 8px !important; font-size: 16px !important; line-height: 1.4 !important; }
body.ds-2026 .dsh-dark-card svg { margin-bottom: 18px !important; }
body.ds-2026 .dsh-dark-card .go { margin-top: 18px !important; font-size: 13px !important; }

/* 分析预览面板：分数基线对齐 + 行距 */
body.ds-2026 .dsh-ana-panel .hd { display: flex !important; align-items: baseline !important; margin-bottom: 18px !important; }
body.ds-2026 .dsh-meter { padding: 8px 0 !important; }
body.ds-2026 .dsh-ana-copy > p { margin-top: 14px !important; font-size: 15px !important; line-height: 1.75 !important; }
body.ds-2026 .dsh-ana-copy ul { margin: 24px 0 28px !important; }
body.ds-2026 .dsh-ana-copy li { padding: 9px 0 !important; font-size: 14px !important; }

/* 评价区：行距与网格节奏 */
body.ds-2026 .dsh-quotes { gap: 44px 56px !important; }
body.ds-2026 .dsh-quotes blockquote { font-size: 15px !important; line-height: 1.85 !important; }
body.ds-2026 .dsh-quotes figcaption { margin-top: 14px !important; }

/* ---------- 4. 页脚节奏 ---------- */
body.ds-2026 .dsh-footer-grid,
body.ds-2026 .rv-foot-grid { padding: 56px 0 36px !important; }
body.ds-2026 .dsh-footer-col b,
body.ds-2026 .rv-foot-col b {
  font-size: 13px !important; font-weight: 600 !important;
  letter-spacing: 0.06em !important; margin-bottom: 14px !important;
}
body.ds-2026 .dsh-footer-col :is(span, button, a),
body.ds-2026 .rv-foot-col :is(span, a) { font-size: 13px !important; line-height: 2 !important; }
body.ds-2026 .dsh-footer-grid p, body.ds-2026 .rv-foot-brand p { max-width: 240px; line-height: 1.8 !important; }

/* ---------- 5. 工具页页头与内容节奏统一 ---------- */
body.ds-2026 .selection-page-header,
body.ds-2026 .workspace-page-header,
body.ds-2026 .analysis-deep-heading { margin: 30px 0 26px !important; }
body.ds-2026 .selection-page-header h1,
body.ds-2026 .workspace-page-header h1,
body.ds-2026 .analysis-deep-heading h1 {
  font-size: 30px !important; line-height: 1.28 !important;
  letter-spacing: -0.01em !important; font-weight: 650 !important;
}
body.ds-2026 .selection-page-header p,
body.ds-2026 .workspace-page-header p { margin-top: 10px !important; font-size: 14px !important; line-height: 1.7 !important; }
body.ds-2026 .selection-filter-panel,
body.ds-2026 .template-filter-strip { margin-bottom: 26px !important; }

/* 模板卡信息区行距 */
body.ds-2026 .catalog-title-line h3 { font-size: 15px !important; line-height: 1.4 !important; font-weight: 600 !important; }
body.ds-2026 .catalog-summary-line { margin-top: 5px !important; font-size: 12px !important; line-height: 1.6 !important; color: #8a94a6 !important; }
body.ds-2026 .catalog-actions { margin-top: 14px !important; }

/* 范文卡内部节奏 */
body.ds-2026 .ai-sample-card-body h3 { font-size: 16px !important; line-height: 1.4 !important; }
body.ds-2026 .ai-sample-card-body > p { margin-top: 8px !important; line-height: 1.7 !important; }
body.ds-2026 .ai-sample-tags { margin-top: 12px !important; }

/* 分析页步骤组标题节奏 */
body.ds-2026 .analysis-deep-panel-head h2,
body.ds-2026 .analysis-deep-section-head h2 { font-size: 19px !important; line-height: 1.4 !important; letter-spacing: -0.005em; }
body.ds-2026 .analysis-deep-panel-head p { margin-top: 6px !important; font-size: 13px !important; line-height: 1.65 !important; }

/* ---------- 6. 编辑器排版 ---------- */
body.ds-2026 .editor-view .side-panel label { font-size: 12px !important; font-weight: 500; }
body.ds-2026 .editor-view .side-panel .section-head h3 { font-size: 14px !important; font-weight: 600 !important; }
body.ds-2026 .editor-view .side-heading h2 { font-size: 15px !important; font-weight: 600 !important; margin-bottom: 14px !important; }
body.ds-2026 .ai-coach-card { padding: 16px !important; }
body.ds-2026 .ai-coach-score-head { align-items: baseline !important; }

/* ---------- 7. 数字与标点微调 ---------- */
body.ds-2026 :is(.dsh-stats .st b, .dsh-ana-panel .hd b, .dsh-meter .val,
  .analysis-deep-report-head strong, .catalog-summary-line, .vip-price strong) {
  font-variant-numeric: tabular-nums;
}

} /* end ≥1024 */
/* ============================================================================
   DS-2026 v151 · 路由过渡去抖 + 首页 AI 演示去盒化与顺滑化（纯 CSS，可整段回滚）
   ============================================================================ */

/* ---------- 1. 路由过渡去抖动：去掉位移，纯淡入（同名 keyframes 后定义覆盖 v150） ---------- */
@keyframes dsViewIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  body.ds-2026 .ds-view-enter > main,
  body.ds-2026 .ds-view-enter > .editor-body,
  body.ds-2026 .ds-view-enter > .editor-deephire-body {
    animation-duration: 220ms !important;
  }
}

@media (min-width: 1024px) {

/* ---------- 2. 演示右栏去盒化：排版承担层级，取消嵌套边框盒 ---------- */
body.ds-2026 .dsh-home .dsh-frame-ai {
  padding: 22px 20px !important;
  gap: 14px !important;
}
body.ds-2026 .dsh-home .dsh-frame-ai .hd {
  font-size: 12px !important; font-weight: 600 !important; color: #4b5563 !important;
}

/* 状态行：去掉胶囊边框盒，只保留呼吸点 + 文字 */
body.ds-2026 .dsh-home .dsh-demo-status {
  border: none !important; background: none !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 !important; min-height: 0 !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
}
body.ds-2026 .dsh-home .dsh-demo-status b {
  font-size: 13px !important; font-weight: 600 !important; color: #2563eb !important;
}

/* 进度：细线 + 小字，弱存在感 */
body.ds-2026 .dsh-home .dsh-demo-progress { gap: 8px !important; margin: 2px 0 4px !important; }
body.ds-2026 .dsh-home .dsh-demo-progress span i { height: 3px !important; border-radius: 2px !important; }
body.ds-2026 .dsh-home .dsh-demo-progress span b { font-size: 11px !important; font-weight: 400 !important; }

/* 原始/优化后：原始为弱化纯文本，优化后为无边框浅渐变面 */
body.ds-2026 .dsh-home .dsh-frame-ai .blk {
  border: none !important; background: none !important; box-shadow: none !important;
  padding: 0 !important; border-radius: 0 !important;
  font-size: 12px !important; line-height: 1.75 !important;
}
body.ds-2026 .dsh-home .dsh-frame-ai .blk > b {
  display: block !important; margin-bottom: 6px !important;
  font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: 0.05em !important; color: #8a94a6 !important;
}
body.ds-2026 .dsh-home .dsh-frame-ai .blk.before { color: #6b7280 !important; }
body.ds-2026 .dsh-home .dsh-frame-ai .blk.after {
  position: relative !important;
  padding: 12px 14px !important; border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.07), rgba(6, 182, 212, 0.04)) !important;
  color: #1f2329 !important;
  min-height: 118px !important;
}
body.ds-2026 .dsh-home .dsh-frame-ai .blk.after::before {
  display: none !important; content: none !important; /* 移除旧渐变描边，避免双框 */
}
body.ds-2026 .dsh-home .dsh-frame-ai .blk.after > b { color: #2563eb !important; }

/* 关键词：未命中时隐形占位（不再显示灰色残缺态），命中逐个浮现 */
body.ds-2026 .dsh-home .dsh-frame-ai .kw { border: none !important; background: none !important; padding: 0 !important; }
body.ds-2026 .dsh-home .dsh-frame-ai .kw > b {
  display: block !important; width: 100% !important; margin-bottom: 8px !important;
  font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.05em !important; color: #8a94a6 !important;
}
body.ds-2026 .dsh-home .dsh-frame-ai .kw span[data-demo-keyword] {
  opacity: 0; transform: translateY(4px) scale(0.98);
  border: none !important; box-shadow: none !important;
  background: #eff4ff !important; color: #2563eb !important;
  transition: opacity 420ms cubic-bezier(0.2, 0, 0, 1), transform 420ms cubic-bezier(0.2, 0, 0, 1);
  transition-delay: var(--keyword-delay, 0ms);
}
body.ds-2026 .dsh-home .dsh-frame-ai .kw span[data-demo-keyword].is-hit {
  opacity: 1; transform: none;
}

/* 竞争力：去底色盒，改为分隔线上的结果行 */
body.ds-2026 .dsh-home .dsh-frame-ai .score {
  border: none !important; background: none !important; box-shadow: none !important;
  border-radius: 0 !important; padding: 14px 0 0 !important;
  border-top: 1px solid #eef0f4 !important;
}
body.ds-2026 .dsh-home .dsh-frame-ai .score span { font-size: 12px !important; color: #4b5563 !important; }
body.ds-2026 .dsh-home .dsh-frame-ai .score b {
  font-size: 22px !important; font-weight: 700 !important; color: #2563eb !important;
  background: none !important; -webkit-text-fill-color: currentColor !important;
}

/* ---------- 3. 相位切换交叉淡入（步进奇偶交替触发同款动画） ---------- */
@media (prefers-reduced-motion: no-preference) {
  body.ds-2026 .dsh-live-demo:is([data-demo-step="0"], [data-demo-step="2"]) :is(.blk.after, [data-demo-status]) {
    animation: dsPhaseSwapA 360ms cubic-bezier(0.2, 0, 0, 1) both;
  }
  body.ds-2026 .dsh-live-demo:is([data-demo-step="1"], [data-demo-step="3"]) :is(.blk.after, [data-demo-status]) {
    animation: dsPhaseSwapB 360ms cubic-bezier(0.2, 0, 0, 1) both;
  }
}

} /* end ≥1024 */

@keyframes dsPhaseSwapA { from { opacity: 0.3; } to { opacity: 1; } }
@keyframes dsPhaseSwapB { from { opacity: 0.3; } to { opacity: 1; } }

/* ============================================================================
   DS-2026 v152 · 路由切换抖动根治
   实测根因：路由回顶后，模板缩略等异步内容填充触发 Chrome 滚动锚定，
   将视口拉回中部（如 1600→900），呈现为「抖动/未回顶」。
   ============================================================================ */
html { scrollbar-gutter: stable; }
body.ds-2026 { overflow-anchor: none; }

/* ============================================================================
   DS-2026 v153 · 工具审计修复：点击目标尺寸（WCAG 2.5.8 ≥32px）
   ============================================================================ */
@media (min-width: 1024px) {
  body.ds-2026 .topbar .avatar,
  body.ds-2026 .topbar .visual-avatar { min-width: 36px !important; min-height: 36px !important; }
  body.ds-2026 .dsh-footer-col button,
  body.ds-2026 .rv-foot-col a,
  body.ds-2026 .dsh-footer-bottom a,
  body.ds-2026 .rv-foot-bottom a { min-height: 32px !important; display: inline-flex !important; align-items: center !important; }
}

/* ============================================================================
   DS-2026 v154 · 审计收尾：UI 字号砍档（去 11/15px）+ 模板缩略骨架
   灰色三档收敛（#4b5563 / #667085 / #8a94a6）已在上方全局替换完成。
   ============================================================================ */
@media (min-width: 1024px) {
  /* 字号收敛：演示与面板的 11px → 12px */
  body.ds-2026 .dsh-frame-ai .blk > b,
  body.ds-2026 .dsh-frame-ai .kw > b,
  body.ds-2026 .dsh-home .dsh-demo-progress span b,
  body.ds-2026 .dsh-scan-caption,
  body.ds-2026 .ai-coach-card small { font-size: 12px !important; }
  /* 字号收敛：卡题/引文的 15px → 16px，正文型 15px → 14px */
  body.ds-2026 .catalog-title-line h3,
  body.ds-2026 .resume-asset-title h3,
  body.ds-2026 .dsh-quotes blockquote { font-size: 16px !important; }
  body.ds-2026 .dsh-ana-copy > p,
  body.ds-2026 .editor-view .side-heading h2 { font-size: 14px !important; }

  /* 模板缩略骨架：图片未载入时呈现纸张形占位（叠在 shimmer 之上） */
  body.ds-2026 .catalog-preview { min-height: 280px; position: relative; }
  body.ds-2026 .catalog-preview::before {
    content: ""; position: absolute; left: 16px; right: 16px; top: 16px; bottom: 0;
    background: #fff; border-radius: 6px 6px 0 0;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.05);
    z-index: 0;
  }
  body.ds-2026 .catalog-preview > * { position: relative; z-index: 1; }
}

/* ============================================================================
   DS-2026 v155 · 首页单纸演示、路由稳定、岗位范文 A4 与验证码登录重构
   仅覆盖 PC，移动端沿用现有布局。
   ============================================================================ */
@media (min-width: 1024px) {
  /* 首页：左侧信息聚拢为一个完整转化组，右侧直接展示简历纸张与 AI 轨道。 */
  body.ds-2026 .dsh-home .dsh-hero .dsh-wrap {
    display: grid !important;
    grid-template-columns: minmax(350px, .72fr) minmax(620px, 1.28fr) !important;
    grid-template-areas: "copy stage" !important;
    align-items: center !important;
    column-gap: clamp(34px, 3.2vw, 54px) !important;
    text-align: left !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy {
    grid-area: copy;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-chip {
    justify-self: auto !important;
    margin: 0 0 18px !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy h1 {
    margin: 0 !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-lead {
    max-width: 420px !important;
    margin: 20px 0 0 !important;
    font-size: 16px !important;
    line-height: 1.68 !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-hero-actions {
    justify-content: flex-start !important;
    margin-top: 26px !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-micro {
    max-width: 440px !important;
    margin-top: 16px !important;
    line-height: 1.85 !important;
  }
  body.ds-2026 .dsh-home .dsh-stage {
    grid-area: stage !important;
    width: 100% !important;
    margin: 0 !important;
  }
  body.ds-2026 .dsh-home .dsh-stage::before {
    left: 6% !important;
    right: 16% !important;
    bottom: -20px !important;
    opacity: .62;
  }
  body.ds-2026 .dsh-home .dsh-frame {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.ds-2026 .dsh-home .dsh-frame::after { display: none !important; content: none !important; }
  body.ds-2026 .dsh-home .dsh-frame-body {
    grid-template-columns: minmax(0, 1fr) 238px !important;
    gap: 18px !important;
    background: transparent !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-shot {
    padding: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 24px 64px rgba(30, 55, 90, .14) !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-resume-live .real-template {
    border-radius: 6px !important;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .07) !important;
  }
  body.ds-2026 .dsh-home .hero-resume-detailed .resume-paper { background: #fff !important; }
  body.ds-2026 .dsh-home .hero-resume-detailed .real-body { padding-bottom: 18px !important; }
  body.ds-2026 .dsh-home .hero-resume-detailed .real-section {
    border-radius: 5px;
    transition: background-color 260ms ease, box-shadow 260ms ease;
  }
  body.ds-2026 .dsh-home .hero-resume-detailed [data-demo-zone].is-demo-focus {
    background: linear-gradient(90deg, rgba(37, 99, 235, .075), rgba(37, 99, 235, 0) 82%);
    box-shadow: -3px 0 0 #4f83ff;
  }
  body.ds-2026 .dsh-home .dsh-hero-resume-live .virtual-avatar {
    position: relative !important;
    background: #eaf2ff !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-resume-live .virtual-avatar img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    filter: none !important;
    object-position: 50% 22% !important;
  }
  body.ds-2026 .dsh-home .dsh-scan-overlay { inset: 0 !important; border-radius: 6px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai {
    min-width: 0 !important;
    padding: 18px 0 18px 18px !important;
    border: 0 !important;
    border-left: 1px solid #dfe6f0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.after {
    min-height: 104px !important;
    border-radius: 10px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .score b.is-counting {
    animation: dsScoreRoll 360ms cubic-bezier(.2, 0, 0, 1) both;
  }

  /* 公共页切换不再做整页透明度动画，顶栏下方不会闪一下。 */
  body.ds-2026 .app-shell.ds-view-enter > main { animation: none !important; }

  /* 岗位范文：操作归到轮播工具栏，A4 内只保留真实简历内容。 */
  body.ds-2026 .ai-sample-carousel-toolbar {
    display: grid !important;
    grid-template-columns: minmax(210px, 1fr) auto auto !important;
    align-items: center !important;
    gap: 18px !important;
  }
  body.ds-2026 .ai-sample-carousel-actions {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  body.ds-2026 .ai-sample-carousel-actions button {
    min-height: 38px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    white-space: nowrap;
    font-size: 12px !important;
  }
  body.ds-2026 .sample-resume-slide {
    background: #fff !important;
    border-radius: 10px !important;
  }
  body.ds-2026 .sample-resume-paper {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
    grid-template-columns: 190px minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
  }
  body.ds-2026 .sample-resume-profile {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 70px minmax(190px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: 18px;
    min-height: 120px;
    padding: 20px 26px;
    border-bottom: 1px solid #dbe4ef;
    background: linear-gradient(112deg, #f1f7ff 0%, #f8fbff 45%, #fff 100%);
  }
  body.ds-2026 .sample-resume-profile > img {
    display: block;
    width: 66px;
    height: 66px;
    border: 3px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 22%;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .08);
  }
  body.ds-2026 .sample-resume-profile > div { min-width: 0; }
  body.ds-2026 .sample-resume-profile > div > span:first-child {
    display: block;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
  }
  body.ds-2026 .sample-resume-profile h3 {
    margin: 3px 0 0 !important;
    color: #162033;
    font-size: 24px !important;
    line-height: 1.2 !important;
  }
  body.ds-2026 .sample-resume-profile p,
  body.ds-2026 .sample-resume-profile small {
    display: block;
    margin: 3px 0 0;
    color: #667085;
    font-size: 11px;
    line-height: 1.6;
  }
  body.ds-2026 .sample-resume-target {
    padding-left: 20px;
    border-left: 1px solid #d9e4f2;
  }
  body.ds-2026 .sample-resume-target b {
    display: block;
    color: #1f2937;
    font-size: 15px;
    line-height: 1.45;
  }
  body.ds-2026 .sample-resume-target span {
    display: -webkit-box !important;
    margin-top: 5px;
    overflow: hidden;
    color: #667085 !important;
    font-size: 10px !important;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  body.ds-2026 .sample-resume-identity {
    min-height: 0 !important;
    padding: 22px 18px !important;
    overflow: hidden !important;
  }
  body.ds-2026 .sample-resume-main {
    min-height: 0 !important;
    padding: 22px 24px 24px !important;
    overflow: hidden !important;
  }
  body.ds-2026 .sample-resume-section + .sample-resume-section { margin-top: 18px !important; }
  body.ds-2026 .sample-resume-entry ul { margin-top: 6px !important; }
  body.ds-2026 .sample-resume-entry li,
  body.ds-2026 .sample-resume-summary p { font-size: 10px !important; line-height: 1.65 !important; }

  /* 验证码登录：显式标签 + 单一输入容器，消除 input width:100% 引发的溢出方框。 */
  body.ds-2026 .modal.login-upgrade-modal {
    width: min(480px, calc(100vw - 64px)) !important;
    padding: 30px !important;
    border: 1px solid #dce4ef !important;
    border-radius: 20px !important;
    background: #fff !important;
  }
  body.ds-2026 .login-modal-brand { margin-bottom: 20px !important; }
  body.ds-2026 .login-modal-brand .brand-mark { width: 44px !important; height: 44px !important; }
  body.ds-2026 .login-modal-heading { margin-bottom: 22px !important; }
  body.ds-2026 .login-modal-heading h2 { margin-top: 8px !important; font-size: 28px !important; line-height: 1.25 !important; }
  body.ds-2026 .login-modal-heading p { margin-top: 8px !important; font-size: 13px !important; line-height: 1.65 !important; }
  body.ds-2026 .login-field-stack { display: grid !important; gap: 16px !important; }
  body.ds-2026 .login-form-group {
    display: grid;
    min-width: 0;
    gap: 7px;
  }
  body.ds-2026 .login-form-label {
    color: #4b5563;
    font-size: 12px;
    font-weight: 600;
  }
  body.ds-2026 .login-upgrade-modal .login-field {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    align-items: center !important;
    overflow: hidden !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
  }
  body.ds-2026 .login-upgrade-modal .login-field > span {
    display: inline-flex !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    align-items: center;
    justify-content: center;
  }
  body.ds-2026 .modal.login-upgrade-modal .login-field .login-input {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 48px !important;
    padding: 0 0 0 10px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
  }
  body.ds-2026 .login-upgrade-modal .login-code-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 116px !important;
    gap: 10px !important;
  }
  body.ds-2026 .login-upgrade-modal .login-code-row > button {
    min-width: 0 !important;
    min-height: 50px !important;
    border-radius: 12px !important;
    background: #edf4ff !important;
  }
  body.ds-2026 .login-upgrade-modal .login-btn {
    min-height: 50px !important;
    margin-top: 20px !important;
    border-radius: 12px !important;
  }
  body.ds-2026 .login-trust-row { justify-content: center !important; }
}

@keyframes dsScoreRoll {
  from { opacity: .45; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================================
   DS-2026 v156 · 页头滑动指示器 + 无外框单纸演示 + 丰富 AI 优化反馈
   仅覆盖 PC；1023px 及以下继续沿用既有移动端实现。
   ============================================================================ */
@media (min-width: 1024px) {
  /* 页头：公共 DOM 保持不变，用一个共享指示器在栏目之间平滑移动。 */
  body.ds-2026 .boss-cv-shell > .topbar {
    transition: background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease !important;
  }
  body.ds-2026 .boss-cv-shell > .topbar .main-nav {
    position: relative !important;
  }
  body.ds-2026 .boss-cv-shell > .topbar .main-nav button {
    transition: color 220ms ease, opacity 220ms ease !important;
  }
  body.ds-2026 .boss-cv-shell > .topbar .main-nav button::after {
    display: none !important;
    content: none !important;
  }
  body.ds-2026 .boss-cv-shell > .topbar .topbar-nav-indicator {
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0;
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: #2563eb;
    opacity: 0;
    pointer-events: none;
    will-change: transform, width;
  }
  body.ds-2026 .boss-cv-shell > .topbar .topbar-nav-indicator.is-ready {
    opacity: 1;
    transition:
      transform 360ms cubic-bezier(.22, 1, .36, 1),
      width 300ms cubic-bezier(.22, 1, .36, 1),
      opacity 160ms ease;
  }

  /* 首屏：内容向中心收拢，画面只保留 A4 简历和 AI 优化轨道。 */
  body.ds-2026 .dsh-home .dsh-hero .dsh-wrap {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1420px !important;
    padding-inline: 32px !important;
    display: grid !important;
    grid-template-columns: minmax(390px, 448px) minmax(700px, 820px) !important;
    grid-template-areas: "copy stage" !important;
    justify-content: center !important;
    align-items: center !important;
    column-gap: clamp(34px, 3vw, 48px) !important;
    text-align: left !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy {
    grid-area: copy !important;
    align-self: center !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-chip { margin-bottom: 16px !important; }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-lead {
    max-width: 410px !important;
    margin-top: 18px !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-hero-actions { margin-top: 24px !important; }
  body.ds-2026 .dsh-home .dsh-hero-copy .dsh-micro { margin-top: 14px !important; }

  body.ds-2026 .dsh-home .dsh-stage {
    grid-area: stage !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.ds-2026 .dsh-home .dsh-stage::before { display: none !important; content: none !important; }
  body.ds-2026 .dsh-home .dsh-frame {
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: none !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-body {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: auto 246px !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 20px !important;
    background: transparent !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-shot {
    box-sizing: border-box !important;
    width: auto !important;
    height: 100% !important;
    aspect-ratio: 680 / 962 !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 22px 58px rgba(30, 55, 90, .13) !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-resume-live {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
  }
  body.ds-2026 .dsh-home .dsh-hero-resume-live .real-template {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .07) !important;
  }
  body.ds-2026 .dsh-home .dsh-scan-overlay { inset: 0 !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai {
    box-sizing: border-box !important;
    width: 246px !important;
    min-width: 246px !important;
    height: 100% !important;
    padding: 10px 0 10px 20px !important;
    border: 0 !important;
    border-left: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk { font-size: 12px !important; line-height: 1.55 !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.before { min-height: 68px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.after { min-height: 98px !important; }

  /* 优化过程：每个阶段同步展示结构、量化、岗位词和 ATS 检查结果。 */
  body.ds-2026 .dsh-home .dsh-demo-insights {
    display: grid;
    gap: 1px;
    min-height: 78px;
    padding: 7px 0;
    border-top: 1px solid #eef1f5;
    border-bottom: 1px solid #eef1f5;
  }
  body.ds-2026 .dsh-home .dsh-demo-insights > div {
    display: flex;
    min-width: 0;
    min-height: 21px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #667085;
    font-size: 12px;
    line-height: 1.3;
  }
  body.ds-2026 .dsh-home .dsh-demo-insights > div::before {
    content: "";
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 50%;
    background: #93b4f8;
  }
  body.ds-2026 .dsh-home .dsh-demo-insights > div > span {
    min-width: 0;
    flex: 1 1 auto;
    white-space: nowrap;
  }
  body.ds-2026 .dsh-home .dsh-demo-insights > div > b {
    flex: 0 0 auto;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  body.ds-2026 .dsh-home .dsh-demo-insights > div.is-entering {
    animation: dsInsightEnter 420ms cubic-bezier(.22, 1, .36, 1) both;
    animation-delay: var(--insight-delay, 0ms);
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .dsh-demo-insights > div::before { background: #22c55e; }
  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .dsh-demo-insights > div > b { color: #16a34a; }
  body.ds-2026 .dsh-home .dsh-frame-ai .kw > b { margin-bottom: 6px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .kw span { padding: 5px 8px !important; font-size: 11px !important; }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  body.ds-2026 .dsh-home .dsh-hero .dsh-wrap {
    grid-template-columns: minmax(330px, 390px) minmax(620px, 760px) !important;
    column-gap: 28px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-body { grid-template-columns: auto 218px !important; gap: 16px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai { width: 218px !important; min-width: 218px !important; padding-left: 14px !important; }
}

@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  body.ds-2026 .boss-cv-shell > .topbar .topbar-nav-indicator.is-ready,
  body.ds-2026 .dsh-home .dsh-demo-insights > div.is-entering {
    transition: none !important;
    animation: none !important;
  }
}

@keyframes dsInsightEnter {
  from { opacity: .28; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================================
   DS-2026 v157 · 岗位范文单轴布局与 A4 轮播排版
   仅覆盖 PC，移动端沿用现有卡片结构。
   ============================================================================ */
@media (min-width: 1024px) {
  body.ds-2026 .ai-page .ai-overview {
    padding-top: 24px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-search-panel {
    width: min(940px, calc(100% - 48px)) !important;
    margin: 0 auto 26px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-search-row {
    box-sizing: border-box !important;
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) 128px !important;
    gap: 12px !important;
    margin: 0 !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-search-input {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-search-row > button {
    width: 128px !important;
    min-width: 128px !important;
    margin: 0 !important;
    padding: 0 18px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-examples {
    max-width: none !important;
    justify-content: flex-start !important;
    margin: 12px 0 0 !important;
    gap: 7px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-examples::before {
    display: none !important;
    content: none !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-examples-label {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding-right: 2px;
    color: #8a94a6 !important;
    font-size: 12px !important;
    line-height: 32px !important;
  }

  body.ds-2026 .unified-library-page .ai-sample-results {
    width: 100% !important;
    margin-top: 0 !important;
  }

  body.ds-2026 .ai-sample-results-head.ai-sample-carousel-toolbar {
    box-sizing: border-box !important;
    display: flex !important;
    width: min(940px, calc(100% - 48px)) !important;
    min-height: 72px !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin: 0 auto 16px !important;
  }

  body.ds-2026 .ai-sample-results-copy {
    display: block !important;
    min-width: 0;
  }

  body.ds-2026 .ai-sample-results-kicker {
    display: block;
    margin-bottom: 4px;
    color: #2563eb !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 18px !important;
  }

  body.ds-2026 .ai-sample-results-title-row {
    display: flex;
    align-items: baseline;
    gap: 14px;
  }

  body.ds-2026 .ai-sample-results-title-row h2 {
    flex: 0 0 auto;
    margin: 0 !important;
    color: #172033 !important;
    font-size: 22px !important;
    font-weight: 650 !important;
    letter-spacing: -.025em;
    line-height: 30px !important;
  }

  body.ds-2026 .ai-sample-results-title-row h2 span {
    margin-left: 4px;
    color: #8a94a6 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  body.ds-2026 .ai-sample-results-title-row p {
    margin: 0 !important;
    overflow: hidden;
    color: #7a8699 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ds-2026 .ai-sample-carousel-controls {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 16px;
  }

  body.ds-2026 .ai-sample-carousel-nav {
    order: 0;
    gap: 7px !important;
  }

  body.ds-2026 .ai-sample-carousel-nav > span {
    min-width: 38px !important;
    margin: 0 !important;
    text-align: center !important;
  }

  body.ds-2026 .ai-sample-carousel-nav button {
    width: 36px !important;
    height: 36px !important;
  }

  body.ds-2026 .ai-sample-carousel-actions {
    order: 1;
  }

  body.ds-2026 .ai-sample-carousel-actions button {
    min-height: 36px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
  }

  body.ds-2026 .ai-sample-carousel {
    --sample-a4-width: 700px;
    width: min(940px, calc(100% - 48px)) !important;
    margin: 0 auto !important;
  }

  body.ds-2026 .ai-sample-carousel-track {
    box-sizing: border-box !important;
    width: 100% !important;
    gap: 18px !important;
    padding: 2px 120px 20px !important;
    scroll-padding-inline: 120px;
  }

  body.ds-2026 .sample-resume-slide {
    flex: 0 0 var(--sample-a4-width) !important;
    width: var(--sample-a4-width) !important;
    height: 990px !important;
    border: 1px solid #dce4ef !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 4px rgba(15, 23, 42, .04), 0 20px 48px rgba(30, 55, 90, .10) !important;
    scroll-snap-align: center !important;
  }

  body.ds-2026 .ai-sample-carousel-dots {
    margin-top: 0 !important;
  }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .ai-sample-results-head.ai-sample-carousel-toolbar {
    align-items: center !important;
  }

  body.ds-2026 .ai-sample-results-title-row p {
    display: none;
  }

  body.ds-2026 .ai-sample-carousel-controls {
    gap: 10px;
  }

  body.ds-2026 .ai-sample-carousel-actions button:first-child {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .ai-sample-carousel-track {
    scroll-behavior: auto !important;
  }
}

/* ============================================================================
   DS-2026 v158 · 首页 AI 证据化优化闭环（PC only）
   扫描框由 JS 锚定真实字段，完整演示结构→诊断→改写→匹配→复核。
   ============================================================================ */
@media (min-width: 1024px) {
  body.ds-2026 .dsh-home .dsh-frame-body {
    grid-template-columns: auto 282px !important;
    gap: 18px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai {
    width: 282px !important;
    min-width: 282px !important;
    padding: 8px 0 8px 18px !important;
    gap: 8px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .hd {
    display: flex !important;
    min-height: 28px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .hd > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    color: #344054;
    font-size: 12px;
    font-weight: 650;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .hd .dsh-demo-toggle {
    display: inline-flex !important;
    position: static !important;
    inset: auto !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #f2f5f9 !important;
    color: #667085 !important;
    font-size: 10px !important;
    box-shadow: none !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .hd .dsh-demo-toggle:hover,
  body.ds-2026 .dsh-home .dsh-frame-ai .hd .dsh-demo-toggle:focus-visible {
    background: #e9f1ff !important;
    color: #2563eb !important;
  }
  body.ds-2026 .dsh-home .dsh-demo-progress {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin: 0 0 2px !important;
  }
  body.ds-2026 .dsh-home .dsh-demo-progress button {
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #98a2b3;
    cursor: pointer;
  }
  body.ds-2026 .dsh-home .dsh-demo-progress button i {
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 999px;
    background: #e7ecf3;
    transition: background-color 220ms ease, transform 220ms ease;
  }
  body.ds-2026 .dsh-home .dsh-demo-progress button b {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: inherit;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }
  body.ds-2026 .dsh-home .dsh-demo-progress button:hover { color: #5277a8; }
  body.ds-2026 .dsh-home .dsh-demo-progress button.is-done i { background: #91b7ff; }
  body.ds-2026 .dsh-home .dsh-demo-progress button.is-active { color: #2563eb; }
  body.ds-2026 .dsh-home .dsh-demo-progress button.is-active i {
    background: #2563eb;
    transform: scaleY(1.35);
  }
  body.ds-2026 .dsh-home .dsh-demo-progress button:focus-visible {
    outline: 2px solid #93b4f8;
    outline-offset: 3px;
  }
  body.ds-2026 .dsh-home .dsh-demo-reasoning {
    position: relative;
    min-height: 96px;
    padding: 11px 12px 12px 14px;
    overflow: hidden;
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(37,99,235,.075), rgba(14,165,233,.035) 70%, rgba(255,255,255,.9)), #f8fbff;
    box-shadow: inset 3px 0 0 #6ea0ff;
  }
  body.ds-2026 .dsh-home .dsh-demo-reasoning::after {
    content: "";
    position: absolute;
    top: -36px;
    right: -28px;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(37,99,235,.12), transparent 68%);
    pointer-events: none;
  }
  body.ds-2026 .dsh-home .dsh-demo-reasoning > span {
    display: block;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
  }
  body.ds-2026 .dsh-home .dsh-demo-reasoning > b {
    display: block;
    margin-top: 4px;
    color: #1f2937;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.45;
  }
  body.ds-2026 .dsh-home .dsh-demo-reasoning > p {
    display: -webkit-box;
    margin: 4px 0 0;
    overflow: hidden;
    color: #667085;
    font-size: 10px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.before {
    min-height: 0 !important;
    color: #7a8493 !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.before > b { margin-bottom: 2px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.after {
    min-height: 67px !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.after > b { margin-bottom: 3px !important; }
  body.ds-2026 .dsh-live-demo .dsh-after-text { min-height: 46px !important; }
  body.ds-2026 .dsh-home .dsh-demo-insights { min-height: 67px !important; padding: 5px 0 !important; }
  body.ds-2026 .dsh-home .dsh-demo-insights > div { min-height: 19px !important; font-size: 10px !important; }
  body.ds-2026 .dsh-home .dsh-demo-insights > div > b { font-size: 10px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .kw > b { margin-bottom: 4px !important; font-size: 10px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .kw span { padding: 4px 7px !important; font-size: 9px !important; }
  body.ds-2026 .dsh-home .dsh-demo-score-breakdown {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #667085;
    font-size: 9px;
    font-variant-numeric: tabular-nums;
  }
  body.ds-2026 .dsh-home .dsh-demo-score-breakdown span { padding: 3px 6px; border-radius: 999px; background: #f2f5f9; }
  body.ds-2026 .dsh-home .dsh-frame-ai .score { margin-top: auto !important; padding-top: 9px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .score span { display: inline-flex; align-items: center; gap: 6px; font-size: 11px !important; }
  body.ds-2026 .dsh-home .dsh-frame-ai .score span em {
    padding: 2px 6px;
    border-radius: 999px;
    background: #eaf1ff;
    color: #2563eb;
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai .score b { font-size: 24px !important; }

  /* 扫描框仅覆盖当前字段，不再扫入 A4 空白区。 */
  body.ds-2026 .dsh-home .dsh-scan-overlay {
    --scan-top: 0px;
    --scan-height: 42px;
    inset: 0 !important;
    overflow: hidden !important;
    border-radius: 6px !important;
  }
  body.ds-2026 .dsh-home .dsh-scan-band {
    top: var(--scan-top) !important;
    right: 5px !important;
    left: 5px !important;
    height: var(--scan-height) !important;
    transform: none !important;
    border: 1px solid rgba(37,99,235,.50) !important;
    border-left: 3px solid #2563eb !important;
    border-radius: 5px !important;
    background: linear-gradient(90deg, rgba(37,99,235,.10), rgba(14,165,233,.04) 78%, rgba(255,255,255,.02)) !important;
    box-shadow: 0 8px 24px rgba(37,99,235,.12), inset 0 0 18px rgba(37,99,235,.035) !important;
    transition: top 520ms cubic-bezier(.22,1,.36,1), height 420ms cubic-bezier(.22,1,.36,1), opacity 220ms ease !important;
  }
  body.ds-2026 .dsh-home .dsh-scan-caption {
    top: max(6px, calc(var(--scan-top) - 26px)) !important;
    right: 10px !important;
    left: auto !important;
    max-width: calc(100% - 20px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: top 520ms cubic-bezier(.22,1,.36,1) !important;
  }
  body.ds-2026 .dsh-home .hero-resume-detailed [data-demo-focus] {
    border-radius: 4px;
    transition: color 220ms ease, background-color 220ms ease, box-shadow 220ms ease, opacity 220ms ease;
  }
  body.ds-2026 .dsh-home .hero-resume-detailed [data-demo-focus].is-demo-focus {
    background: linear-gradient(90deg, rgba(37,99,235,.06), rgba(37,99,235,0) 84%);
    box-shadow: -2px 0 0 #4f83ff;
  }
  body.ds-2026 .dsh-home .hero-resume-detailed .demo-resume-bullet-strong { display: none; }
  body.ds-2026 .dsh-live-demo:is([data-demo-step="2"],[data-demo-step="3"],[data-demo-step="4"]) .demo-resume-bullet-weak { display: none; }
  body.ds-2026 .dsh-live-demo:is([data-demo-step="2"],[data-demo-step="3"],[data-demo-step="4"]) .demo-resume-bullet-strong { display: list-item; }
  body.ds-2026 .dsh-live-demo[data-demo-step="1"] .demo-resume-bullet-weak {
    color: #9a6700;
    background: rgba(245,158,11,.09);
    box-shadow: -2px 0 0 #f59e0b;
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="2"] .demo-resume-bullet-strong {
    color: #115e45;
    background: rgba(16,185,129,.09);
    box-shadow: -2px 0 0 #10b981;
    animation: dsEvidenceWriteIn 520ms cubic-bezier(.22,1,.36,1) both;
  }
  body.ds-2026 .dsh-live-demo[data-demo-step="4"] .dsh-demo-orb { background: #16a34a; box-shadow: 0 0 0 4px rgba(22,163,74,.11); }
  body.ds-2026 .dsh-live-demo[data-demo-step="4"] .dsh-frame-ai .score { border-top-color: #bbf7d0 !important; }
  body.ds-2026 .dsh-live-demo[data-demo-step="4"] .dsh-demo-insights > div::before { background: #22c55e; }
  body.ds-2026 .dsh-live-demo[data-demo-step="4"] .dsh-demo-insights > div > b { color: #16a34a; }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  body.ds-2026 .dsh-home .dsh-frame-body {
    grid-template-columns: minmax(0, 1fr) 216px !important;
    align-items: center !important;
    gap: 12px !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-shot {
    width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    align-self: center !important;
    aspect-ratio: 680 / 962 !important;
  }
  body.ds-2026 .dsh-home .dsh-frame-ai { width: 216px !important; min-width: 216px !important; height: 100% !important; padding-left: 11px !important; }
  body.ds-2026 .dsh-home .dsh-demo-reasoning { min-height: 88px; padding: 9px 10px 10px 12px; }
  body.ds-2026 .dsh-home .dsh-demo-reasoning > p { -webkit-line-clamp: 2; }
  body.ds-2026 .dsh-home .dsh-frame-ai .blk.after { min-height: 58px !important; }
  body.ds-2026 .dsh-home .dsh-demo-score-breakdown span { padding-inline: 4px; }
}

@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  body.ds-2026 .dsh-home .dsh-frame-ai .hd .dsh-demo-toggle { display: none !important; }
  body.ds-2026 .dsh-home :is(.dsh-scan-band,.dsh-scan-caption,[data-demo-focus],.demo-resume-bullet-strong) {
    animation: none !important;
    transition: none !important;
  }
}

@keyframes dsEvidenceWriteIn {
  from { opacity: .18; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================================
   DS-2026 v159 · 首页仅演示文案润色（PC only）
   简历保持标准 A4 单栏排版；动画只作用于一条工作描述，不扫描或改动版式。
   ============================================================================ */
@media (min-width: 1024px) {
  body.ds-2026 .dsh-home .dsh-scan-overlay { display: none !important; }

  body.ds-2026 .dsh-home .dsh-demo-progress {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.ds-2026 .dsh-home .copy-polish-resume {
    color: #273244 !important;
    font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif !important;
    font-size: 8px !important;
    background: #fff !important;
  }

  body.ds-2026 .dsh-home .copy-resume-paper {
    display: block !important;
    height: 100% !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body.ds-2026 .dsh-home .copy-resume-head {
    min-height: 0 !important;
    padding: 22px 26px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    border-top: 4px solid #2f6fee !important;
    border-bottom: 1px solid #dfe6f0 !important;
    background: #fff !important;
  }

  body.ds-2026 .dsh-home .copy-resume-avatar {
    position: relative !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #edf2f8 !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #d8e2ef !important;
  }

  body.ds-2026 .dsh-home .copy-resume-avatar img {
    position: absolute !important;
    inset: 0 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    object-position: 50% 22% !important;
  }

  body.ds-2026 .dsh-home .copy-resume-identity {
    flex: 1;
    min-width: 0;
  }

  body.ds-2026 .dsh-home .copy-resume-identity > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
  }

  body.ds-2026 .dsh-home .copy-resume-identity h2 {
    margin: 0 !important;
    color: #172033 !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    letter-spacing: .02em !important;
    line-height: 1.2 !important;
  }

  body.ds-2026 .dsh-home .copy-resume-identity span {
    color: #344054 !important;
    font-size: 8px !important;
    font-weight: 600 !important;
  }

  body.ds-2026 .dsh-home .copy-resume-identity p {
    margin: 5px 0 0 !important;
    color: #667085 !important;
    font-size: 7px !important;
    letter-spacing: .015em;
    line-height: 1.35 !important;
  }

  body.ds-2026 .dsh-home .copy-resume-body {
    padding: 15px 26px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  body.ds-2026 .dsh-home .copy-resume-section {
    position: relative;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.ds-2026 .dsh-home .copy-resume-section h3 {
    margin: 0 0 6px !important;
    padding: 0 0 4px !important;
    border-bottom: 1px solid #b9c8dc !important;
    color: #215db9 !important;
    font-size: 9px !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
    line-height: 1.25 !important;
  }

  body.ds-2026 .dsh-home .copy-resume-entry-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: baseline !important;
    gap: 10px !important;
  }

  body.ds-2026 .dsh-home .copy-resume-entry-head b {
    min-width: 0;
    overflow: hidden;
    color: #202939 !important;
    font-size: 8px !important;
    font-weight: 720 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ds-2026 .dsh-home .copy-resume-entry-head time {
    color: #475467 !important;
    font-size: 7px !important;
    font-variant-numeric: tabular-nums;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    white-space: nowrap;
  }

  body.ds-2026 .dsh-home .copy-resume-section p {
    margin: 3px 0 0 !important;
    color: #536176 !important;
    font-size: 7px !important;
    line-height: 1.48 !important;
  }

  body.ds-2026 .dsh-home .copy-resume-section .copy-resume-meta {
    color: #475467 !important;
    font-weight: 600 !important;
  }

  body.ds-2026 .dsh-home .copy-resume-section ul {
    margin: 4px 0 0 !important;
    padding-left: 13px !important;
    color: #445166 !important;
    font-size: 7px !important;
    line-height: 1.52 !important;
  }

  body.ds-2026 .dsh-home .copy-resume-section li {
    margin: 1px 0 !important;
    padding: 0 2px !important;
    border-radius: 3px;
  }

  body.ds-2026 .dsh-home .copy-resume-entry-spaced { margin-top: 7px !important; }
  body.ds-2026 .dsh-home .copy-resume-compact { margin-top: -1px !important; }

  body.ds-2026 .dsh-home .copy-polish-resume .demo-resume-bullet-strong { display: none !important; }
  body.ds-2026 .dsh-live-demo:is([data-demo-step="2"],[data-demo-step="3"]) .copy-polish-resume .demo-resume-bullet-weak { display: none !important; }
  body.ds-2026 .dsh-live-demo:is([data-demo-step="2"],[data-demo-step="3"]) .copy-polish-resume .demo-resume-bullet-strong { display: list-item !important; }

  body.ds-2026 .dsh-live-demo[data-demo-step="1"] .copy-polish-resume .demo-resume-bullet-weak {
    color: #7a5600 !important;
    background: linear-gradient(90deg, rgba(245,158,11,.12), rgba(245,158,11,.025)) !important;
    box-shadow: inset 2px 0 0 #f59e0b !important;
  }

  body.ds-2026 .dsh-live-demo[data-demo-step="2"] .copy-polish-resume .demo-resume-bullet-strong {
    color: #174a88 !important;
    background: linear-gradient(90deg, rgba(37,99,235,.10), rgba(37,99,235,.02)) !important;
    box-shadow: inset 2px 0 0 #3b82f6 !important;
    animation: dsCopyPolishWriteIn 520ms cubic-bezier(.22,1,.36,1) both !important;
  }

  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .copy-polish-resume .demo-resume-bullet-strong {
    color: #445166 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.ds-2026 .dsh-home .dsh-demo-score-breakdown {
    flex-wrap: wrap;
    align-content: flex-start;
    min-height: 45px;
  }

  body.ds-2026 .dsh-home .dsh-demo-score-breakdown span {
    color: #475467 !important;
    background: #f3f6fa !important;
  }

  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .dsh-demo-orb {
    background: #16a34a !important;
    box-shadow: 0 0 0 4px rgba(22,163,74,.11) !important;
  }

  body.ds-2026 .dsh-live-demo[data-demo-step="3"] .dsh-demo-insights > div > b { color: #16803a !important; }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  body.ds-2026 .dsh-home .copy-resume-head { padding: 18px 20px 12px !important; }
  body.ds-2026 .dsh-home .copy-resume-body { padding: 12px 20px 18px !important; gap: 8px !important; }
  body.ds-2026 .dsh-home .copy-resume-section h3 { margin-bottom: 4px !important; }
  body.ds-2026 .dsh-home .copy-resume-section ul { line-height: 1.42 !important; }
}

@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  body.ds-2026 .dsh-home .copy-polish-resume .demo-resume-bullet-strong { animation: none !important; }
}

@keyframes dsCopyPolishWriteIn {
  from { opacity: .15; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================================
   DS-2026 v160 · 首页 Hero 平衡：CTA 下方社会证明信任条
   目的：左栏内容 356px 相对右侧演示卡 690px 过于单薄；补一行头像墙+数据，
        既平衡视觉重量又强化转化。复用评价区首字母徽标视觉语言。
   ============================================================================ */
@media (min-width: 1024px) {
  body.ds-2026 .dsh-home .dsh-hero-trust {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    max-width: 440px;
  }
  body.ds-2026 .dsh-home .dsh-trust-avatars { display: flex; }
  body.ds-2026 .dsh-home .dsh-trust-avatars .av {
    width: 34px; height: 34px; margin-left: -9px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%; border: 2px solid #fff;
    font-size: 13px; font-weight: 600; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
  }
  body.ds-2026 .dsh-home .dsh-trust-avatars .av:first-child { margin-left: 0; }
  body.ds-2026 .dsh-home .dsh-trust-avatars .av:nth-child(1) { background: #eff4ff; color: #2563eb; }
  body.ds-2026 .dsh-home .dsh-trust-avatars .av:nth-child(2) { background: #e8f7f9; color: #0e7490; }
  body.ds-2026 .dsh-home .dsh-trust-avatars .av:nth-child(3) { background: #f3f0fc; color: #6d28d9; }
  body.ds-2026 .dsh-home .dsh-trust-avatars .av:nth-child(4) { background: #fbf3e4; color: #b45309; }
  body.ds-2026 .dsh-home .dsh-trust-text {
    font-size: 13px; color: #4b5563; line-height: 1.5;
  }
  body.ds-2026 .dsh-home .dsh-trust-text b {
    color: #1f2329; font-weight: 700; font-variant-numeric: tabular-nums;
  }
}

/* ============================================================================
   DS-2026 v161 · 顶栏 logo「树懒简历」改粗黑体（用户指定字体风格）
   v159 皮肤把 logo 降到 600/字距0.5px 显细松；恢复为 Heavy 黑体、紧凑字距，
   优先思源黑体 Heavy（装了则用真字重），否则系统黑体合成加粗。
   ============================================================================ */
body.ds-2026 .topbar .brand-name {
  font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
  color: #1f2329 !important;
  -webkit-font-smoothing: antialiased;
}

/* ============================================================================
   DS-2026 v162 · 首页轻量排版与页脚底栏对齐（PC only）
   页头导航减轻字重与指示线体量；首屏标题、说明、按钮和 AI 面板形成更克制的
   字重层级。页脚版权+备案作为一个居中组，版本号独立贴右。
   ============================================================================ */
@media (min-width: 1024px) {
  /* 页头：降低常规与激活项的字重差，避免五个栏目形成一排粗黑字。 */
  body.ds-2026 .boss-cv-shell > .topbar .main-nav button {
    color: #566071 !important;
    font-size: 15px !important;
    font-weight: 450 !important;
    letter-spacing: 0.01em !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav button:hover {
    color: #293446 !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .main-nav button.active,
  body.ds-2026 .boss-cv-shell > .topbar .main-nav button[aria-current="page"] {
    color: #2563eb !important;
    font-weight: 560 !important;
  }

  body.ds-2026 .boss-cv-shell > .topbar .topbar-nav-indicator {
    width: 30px;
    height: 2px;
    border-radius: 999px;
  }

  /* 首屏：减少大标题的黑度，正文与动作层级更清楚。 */
  body.ds-2026 .dsh-home .dsh-hero h1 {
    font-weight: 620 !important;
    letter-spacing: -0.025em !important;
  }

  body.ds-2026 .dsh-home .dsh-chip {
    font-weight: 480 !important;
    background: rgba(37, 99, 235, 0.055) !important;
  }

  body.ds-2026 .dsh-home .dsh-lead {
    color: #596579 !important;
    font-weight: 400 !important;
  }

  body.ds-2026 .dsh-home .dsh-btn {
    font-weight: 520 !important;
  }

  body.ds-2026 .dsh-home .dsh-micro,
  body.ds-2026 .dsh-home .dsh-trust-text {
    color: #788499 !important;
  }

  body.ds-2026 .dsh-home .dsh-frame-ai .hd > span,
  body.ds-2026 .dsh-home .dsh-demo-status b,
  body.ds-2026 .dsh-home .dsh-demo-reasoning > b {
    font-weight: 560 !important;
  }

  /* 底栏：中间两项共同居中，版本号保持在容器最右侧。 */
  body.ds-2026 .rv-footer .rv-foot-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 14px !important;
    width: 100% !important;
  }

  body.ds-2026 .rv-footer .rv-foot-bottom > span:first-child {
    grid-column: 2;
    white-space: nowrap;
  }

  body.ds-2026 .rv-footer .rv-foot-bottom > a {
    grid-column: 3;
    white-space: nowrap;
  }

  body.ds-2026 .rv-footer .rv-foot-bottom > .ver {
    grid-column: 4;
    justify-self: end;
    margin-left: 0 !important;
    white-space: nowrap;
  }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.ds-2026 .rv-footer .rv-foot-bottom,
  body.ds-2026 .rv-footer .rv-foot-bottom :is(span, a) {
    font-size: 12px !important;
  }
}

/* ============================================================================
   DS-2026 v163 · 简历分析页重构：自动开算 + 扫描动画 + 左简历右诊断对照
   ============================================================================ */
@media (min-width: 1024px) {
  /* —— 扫描进行态：蓝色扫描条 + 阶段文案 —— */
  body.ds-2026 .analysis-real-processing.is-scanning {
    position: relative; overflow: hidden;
    border-radius: 12px; background: linear-gradient(135deg, rgba(37,99,235,.06), rgba(6,182,212,.04));
    box-shadow: inset 0 0 0 1px rgba(37,99,235,.14);
  }
  body.ds-2026 .analysis-real-processing.is-scanning::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(100deg, transparent 20%, rgba(37,99,235,.16) 50%, transparent 80%);
    animation: dsAnalysisScan 1.5s ease-in-out infinite;
  }
  body.ds-2026 .analysis-real-processing.is-scanning > span {
    width: 18px; height: 18px; border-radius: 50%;
    border: 2px solid rgba(37,99,235,.25); border-top-color: #2563eb;
    animation: dsAnalysisSpin .8s linear infinite;
  }
  body.ds-2026 .analysis-real-processing.is-scanning small {
    color: #2563eb; font-variant-numeric: tabular-nums;
    animation: dsStageFade .4s ease;
  }
  @keyframes dsAnalysisScan { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
  @keyframes dsAnalysisSpin { to { transform: rotate(360deg); } }
  @keyframes dsStageFade { from { opacity: .3; transform: translateY(3px); } to { opacity: 1; transform: none; } }

  /* —— 对照区 —— */
  body.ds-2026 .analysis-sbs { margin-top: 28px; }
  body.ds-2026 .analysis-sbs-head {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: 24px; margin-bottom: 18px;
  }
  body.ds-2026 .analysis-sbs-head span {
    font-size: 12px; font-weight: 600; letter-spacing: .12em; color: #2563eb;
  }
  body.ds-2026 .analysis-sbs-head h3 { margin: 6px 0 0; font-size: 19px; font-weight: 650; color: #1f2329; }
  body.ds-2026 .analysis-sbs-head small { font-size: 12px; color: #8a94a6; }
  body.ds-2026 .analysis-sbs-grid {
    display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 20px; align-items: start;
  }

  /* 左：简历纸 */
  body.ds-2026 .analysis-sbs-paper {
    background: #fff; border-radius: 14px; padding: 22px 24px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(10,30,80,.06);
  }
  body.ds-2026 .analysis-paper-head {
    display: flex; align-items: baseline; gap: 10px;
    padding-bottom: 14px; margin-bottom: 6px; border-bottom: 1px solid #eef0f4;
  }
  body.ds-2026 .analysis-paper-head b { font-size: 17px; font-weight: 700; color: #1f2329; }
  body.ds-2026 .analysis-paper-head span { font-size: 13px; color: #667085; }
  body.ds-2026 .analysis-paper-section {
    padding: 12px 12px 12px 14px; margin: 8px 0; border-radius: 10px;
    border-left: 3px solid transparent; transition: background .25s ease, border-color .25s ease;
  }
  body.ds-2026 .analysis-paper-section.is-flagged { border-left-color: #d97706; background: #fdfaf3; }
  body.ds-2026 .analysis-paper-section.is-focused {
    border-left-color: #2563eb; background: #eff4ff;
    box-shadow: 0 0 0 1px rgba(37,99,235,.18);
    animation: dsFocusPulse .7s ease;
  }
  @keyframes dsFocusPulse { 0%,100% { box-shadow: 0 0 0 1px rgba(37,99,235,.18); } 45% { box-shadow: 0 0 0 5px rgba(37,99,235,.14); } }
  body.ds-2026 .analysis-paper-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  body.ds-2026 .analysis-paper-section-head h4 { margin: 0; font-size: 14px; font-weight: 650; color: #1f2329; }
  body.ds-2026 .analysis-paper-flag {
    font-size: 11px; font-weight: 600; color: #b45309;
    background: #fdf3e3; border-radius: 980px; padding: 3px 9px;
  }
  body.ds-2026 .analysis-paper-ok {
    font-size: 11px; font-weight: 500; color: #15803d;
    background: #eaf7ef; border-radius: 980px; padding: 3px 9px;
  }
  body.ds-2026 .analysis-sbs-paper ul { margin: 8px 0 0; padding: 0; list-style: none; }
  body.ds-2026 .analysis-sbs-paper li { margin-top: 6px; font-size: 12px; line-height: 1.65; color: #4b5563; }
  body.ds-2026 .analysis-sbs-paper li b { display: block; font-weight: 600; color: #1f2329; }
  body.ds-2026 .analysis-paper-empty { font-size: 13px; color: #8a94a6; padding: 20px 0; text-align: center; }

  /* 右：问题定位卡 */
  body.ds-2026 .analysis-sbs-issues { display: flex; flex-direction: column; gap: 10px; }
  body.ds-2026 .analysis-sbs-issue {
    display: block; width: 100%; text-align: left; cursor: pointer;
    background: #fff; border: none; border-radius: 12px; padding: 14px 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 1px 2px rgba(0,0,0,.04), 0 6px 18px rgba(10,30,80,.05);
    transition: transform .2s cubic-bezier(.2,0,0,1), box-shadow .2s cubic-bezier(.2,0,0,1);
  }
  body.ds-2026 .analysis-sbs-issue:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 12px 30px rgba(10,30,80,.10); }
  body.ds-2026 .analysis-sbs-issue.is-active { box-shadow: 0 0 0 1px #2563eb, 0 8px 24px rgba(37,99,235,.14); }
  body.ds-2026 .analysis-sbs-issue-top { display: flex; align-items: center; gap: 8px; }
  body.ds-2026 .analysis-sbs-issue-top b { font-size: 11px; font-weight: 600; border-radius: 980px; padding: 3px 9px; }
  body.ds-2026 .analysis-sbs-issue.is-high .analysis-sbs-issue-top b { color: #b42318; background: #fdecec; }
  body.ds-2026 .analysis-sbs-issue.is-medium .analysis-sbs-issue-top b { color: #b45309; background: #fdf3e3; }
  body.ds-2026 .analysis-sbs-issue.is-low .analysis-sbs-issue-top b { color: #4b5563; background: #f2f4f7; }
  body.ds-2026 .analysis-sbs-issue-top small { font-size: 11px; color: #8a94a6; }
  body.ds-2026 .analysis-sbs-issue strong { display: block; margin: 8px 0 5px; font-size: 14px; font-weight: 650; color: #1f2329; line-height: 1.45; }
  body.ds-2026 .analysis-sbs-issue-fix { display: block; font-size: 12px; line-height: 1.6; color: #4b5563; }
}

@media (prefers-reduced-motion: reduce) {
  body.ds-2026 .analysis-real-processing.is-scanning::after,
  body.ds-2026 .analysis-paper-section.is-focused { animation: none !important; }
}
