      /* ================= 设计变量 ================= */
      :root {
        --navy-900: #16395a;
        --navy-800: #1f4e79;
        --navy-700: #2c4a6e;
        --gold: #d4a017;
        --gold-deep: #8a6a0a;
        --gold-dark: #b45309;

        --bg: #f7f9fc;
        --surface: #ffffff;
        --border: #e5e7eb;

        --text: #1f2937;
        --muted: #6b7280;
        --dim: #9ca3af;
        --faint: #7e90a8;

        --on-navy-muted: #a9b8cc;
        --on-navy-soft: #c9d8e8;

        --radius-sm: 8px;
        --radius-md: 10px;
        --radius-lg: 12px;
        --radius-xl: 16px;

        --font-sans: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont,
          "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans GB",
          "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC",
          "WenQuanYi Micro Hei", sans-serif;
      }

/* ================= 图标（data URI，统一在 CSS 维护） ================= */
:root {
  /* 搜索 */
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='6' cy='6' r='4.5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M9.5 9.5L13 13' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");

  /* 网格 */
  --icon-grid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='1.5' y='1.5' width='5' height='5' rx='1' fill='%23000'/%3E%3Crect x='7.5' y='1.5' width='5' height='5' rx='1' fill='%23000'/%3E%3Crect x='1.5' y='7.5' width='5' height='5' rx='1' fill='%23000'/%3E%3Crect x='7.5' y='7.5' width='5' height='5' rx='1' fill='%23000'/%3E%3C/svg%3E");

  /* 下箭头 */
  --icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 5L7 9L11 5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  /* 右箭头 */
  --icon-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5 3L9 7L5 11' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  /* 星光 */
  --icon-sparkles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5.5 1L6.5 4.5L10 5.5L6.5 6.5L5.5 10L4.5 6.5L1 5.5L4.5 4.5Z' fill='%23000'/%3E%3Cpath d='M11 8L11.5 10L13.5 10.5L11.5 11L11 13L10.5 11L8.5 10.5L10.5 10Z' fill='%23000'/%3E%3C/svg%3E");

  /* 建筑（政府） */
  --icon-landmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1L13 4.5H1Z' fill='%23000'/%3E%3Crect x='2.5' y='5.5' width='1.2' height='5' fill='%23000'/%3E%3Crect x='5' y='5.5' width='1.2' height='5' fill='%23000'/%3E%3Crect x='7.8' y='5.5' width='1.2' height='5' fill='%23000'/%3E%3Crect x='10.3' y='5.5' width='1.2' height='5' fill='%23000'/%3E%3Crect x='1' y='11.5' width='12' height='1.2' fill='%23000'/%3E%3C/svg%3E");

  /* 外链 */
  --icon-arrow-up-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 3.5H10.5V10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.5 10.5L10.5 3.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");

  /* 圆形对勾（已认领徽章） */
  --icon-badge-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1.2C3.8 1.2 1.2 3.8 1.2 7s2.6 5.8 5.8 5.8 5.8-2.6 5.8-5.8S10.2 1.2 7 1.2zm0 10.2C4.6 11.4 2.6 9.4 2.6 7S4.6 2.6 7 2.6 11.4 4.6 11.4 7 9.4 11.4 7 11.4z' fill='%23000'/%3E%3Cpath d='M9.6 4.9L6.3 8.2 4.8 6.7l-.9.9 2.4 2.4 4.2-4.2z' fill='%23000'/%3E%3C/svg%3E");

  /* 盾牌对勾（认领按钮） */
  --icon-shield-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1L2 3v4c0 3 2.1 5.5 5 6 2.9-.5 5-3 5-6V3L7 1z' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M4.8 7.1L6.3 8.6 9.3 5.6' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 图标基础：用 mask 让图标颜色跟随 currentColor */
.icon {
  display: inline-block;
  flex: none;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.icon--13 { width: 13px; height: 13px; }
.icon--14 { width: 14px; height: 14px; }
.icon--18 { width: 18px; height: 18px; }
.icon--22 { width: 22px; height: 22px; }

.icon--search           { -webkit-mask-image: var(--icon-search);           mask-image: var(--icon-search); }
.icon--grid             { -webkit-mask-image: var(--icon-grid);             mask-image: var(--icon-grid); }
.icon--chevron-down     { -webkit-mask-image: var(--icon-chevron-down);     mask-image: var(--icon-chevron-down); }
.icon--chevron-right    { -webkit-mask-image: var(--icon-chevron-right);    mask-image: var(--icon-chevron-right); }
.icon--sparkles         { -webkit-mask-image: var(--icon-sparkles);         mask-image: var(--icon-sparkles); }
.icon--landmark         { -webkit-mask-image: var(--icon-landmark);         mask-image: var(--icon-landmark); }
.icon--arrow-up-right   { -webkit-mask-image: var(--icon-arrow-up-right);   mask-image: var(--icon-arrow-up-right); }
.icon--badge-check   { -webkit-mask-image: var(--icon-badge-check);   mask-image: var(--icon-badge-check); }
.icon--shield-check  { -webkit-mask-image: var(--icon-shield-check);  mask-image: var(--icon-shield-check); }
      /* ================= 基础 ================= */
      *,
      ::before,
      ::after {
        box-sizing: border-box;
      }

      html {
        -webkit-text-size-adjust: 100%;
      }

      body {
        margin: 0;
        background-color: var(--bg);
        color: var(--text);
        font-family: var(--font-sans);
        font-size: 14px;
        line-height: 1.5;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      button,
      input {
        font-family: inherit;
        font-size: inherit;
      }

      /* ================= 页面外壳 =================
         注意：不要在此设置 overflow: hidden，
         否则会破坏组件顶栏的 position: sticky。
         ============================================ */
      .shell {
        max-width: 1440px;
        margin: 0 auto;
      }

      /* 占位元素：先撑出高度，减少片段注入时的布局跳动 */
      site-header {
        display: block;
        min-height: 64px;
      }

      site-footer {
        display: block;
        min-height: 260px;
      }

      /* ================= 主体骨架 ================= */
      .layout {
        display: flex;
        flex-direction: row;
        align-items: stretch;
      }

      /* ================= 左侧分类栏 ================= */
      .sidebar {
        display: flex;
        flex: 0 0 240px;
        flex-direction: column;
        width: 240px;
        background-color: var(--surface);
        border-right: 1px solid var(--border);
      }

      .sidebar__head {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 20px 16px 14px;
      }

      .sidebar__head .icon {
        color: var(--navy-800);
      }

      .sidebar__title {
        font-size: 15px;
        font-weight: 700;
        color: var(--text);
      }

      .cat__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 11px 16px;
        cursor: pointer;
      }

      .cat__head:hover .cat__name {
        color: var(--navy-800);
      }

      .cat__name {
        font-size: 14px;
        font-weight: 700;
        color: var(--text);
        transition: color 0.15s ease;
      }

      .cat__head .icon {
        color: var(--dim);
      }

      .cat__item {
        display: block;
        padding: 4px 16px 4px 34px;
        font-size: 13px;
        color: var(--muted);
        transition: color 0.15s ease, background-color 0.15s ease;
      }

      .cat__item:hover {
        background-color: var(--bg);
        color: var(--navy-800);
      }

      .sidebar__spacer {
        flex: 1 1 auto;
      }

      .sidebar__gov {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 14px 16px;
        background-color: #fbf3dd;
        color: var(--gold-deep);
        font-size: 13px;
        font-weight: 700;
      }

      .sidebar__gov .icon {
        color: var(--gold);
      }

      .sidebar__gov:hover {
        background-color: #f7ecc9;
      }

      /* ================= 主内容区 ================= */
      .main {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        flex-direction: column;
        gap: 28px;
        padding: 28px 32px 44px;
      }

      /* ---- Hero ---- */
      .hero {
        display: flex;
        flex-direction: column;
        gap: 18px;
        padding: 36px 40px;
        border-radius: var(--radius-xl);
        background-image: linear-gradient(180deg, #1f4e79 0%, #16395a 100%);
      }

      .hero__badge {
        display: inline-flex;
        align-self: flex-start;
        align-items: center;
        gap: 6px;
        padding: 4px 12px;
        border-radius: 999px;
        background-color: rgba(255, 255, 255, 0.125);
        color: #fff;
        font-size: 12px;
      }

      .hero__badge .icon {
        color: var(--gold);
      }

      .hero__title {
        margin: 0;
        font-size: 30px;
        font-weight: 700;
        color: #fff;
        line-height: 1.3;
      }

      .hero__sub {
        margin: 0;
        font-size: 14px;
        color: var(--on-navy-soft);
      }

      .hero-search {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 8px;
        border-radius: var(--radius-lg);
        background-color: #fff;
      }

      .hero-search .icon {
        margin-left: 6px;
        color: var(--dim);
      }

      .hero-search input {
        flex: 1;
        min-width: 0;
        padding: 0;
        border: 0;
        outline: none;
        background: transparent;
        color: var(--text);
        font-size: 14px;
        -webkit-appearance: none;
        appearance: none;
      }

      .hero-search input::placeholder {
        color: var(--dim);
      }

      .hero-search input::-webkit-search-cancel-button {
        -webkit-appearance: none;
      }

      .hot {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
      }

      .hot__label {
        font-size: 13px;
        color: var(--on-navy-soft);
      }

      .chip {
        display: inline-block;
        padding: 5px 12px;
        border-radius: 999px;
        background-color: rgba(255, 255, 255, 0.094);
        color: #eaf0f7;
        font-size: 12px;
        transition: background-color 0.18s ease;
      }

      .chip:hover {
        background-color: rgba(255, 255, 255, 0.2);
      }

      /* ---- 按钮 ---- */
      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: var(--radius-sm);
        font-weight: 700;
        white-space: nowrap;
        cursor: pointer;
        transition: background-color 0.18s ease, box-shadow 0.18s ease;
      }

      .btn--primary {
        padding: 9px 18px;
        background-color: var(--navy-800);
        color: #fff;
        font-size: 14px;
      }

      .btn--primary:hover {
        background-color: var(--navy-900);
      }

      .btn--lg {
        padding: 11px 22px;
      }

      /* ---- 通用区块标题 ---- */
      .section-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
      }

      .section-title {
        margin: 0;
        font-size: 20px;
        font-weight: 700;
        color: var(--text);
      }

      .section-more {
        font-size: 14px;
        color: var(--navy-800);
        white-space: nowrap;
      }

      .section-more:hover {
        text-decoration: underline;
      }

      /* ---- 热门人物 ---- */
      .people {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 16px;
      }

      .person {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 16px;
        border: 1px solid var(--border);
        border-radius: var(--radius-lg);
        background-color: var(--surface);
        transition: box-shadow 0.18s ease, transform 0.18s ease,
          border-color 0.18s ease;
      }

      .person:hover {
        border-color: #cfdcea;
        box-shadow: 0 6px 20px rgba(22, 57, 90, 0.08);
        transform: translateY(-2px);
      }

      .person__top {
        display: flex;
        align-items: center;
        gap: 12px;
      }

      .person__avatar {
        display: grid;
        flex: none;
        place-items: center;
        width: 48px;
        height: 48px;
        border-radius: 999px;
        background-color: #eaf0f7;
        color: var(--navy-800);
        font-size: 18px;
        font-weight: 700;
      }

      .person__id {
        display: flex;
        min-width: 0;
        flex-direction: column;
        gap: 2px;
      }

      .person__name {
        font-size: 16px;
        font-weight: 700;
        color: var(--text);
      }

      .person__role {
        font-size: 13px;
        color: var(--muted);
      }

      .person__company {
        font-size: 13px;
        color: var(--text);
      }

      .person__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .tag {
        display: inline-flex;
        align-items: center;
        padding: 3px 10px;
        border-radius: 999px;
        font-size: 12px;
      }

      .tag--region {
        background-color: #eaf0f7;
        color: var(--navy-800);
      }

      .tag--industry {
        background-color: #e7f4f1;
        color: #2e9e8f;
      }

      .person__foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-top: 12px;
        border-top: 1px solid var(--border);
      }

      .person__heat {
        font-size: 12px;
        color: var(--dim);
      }

      .badge {
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        border-radius: 6px;
        font-size: 11px;
      }

      .badge--ok {
        background-color: #e8f6ee;
        color: #16a34a;
      }

      .badge--pending {
        background-color: #fbf3dd;
        color: var(--gold-dark);
      }

      /* ---- 双栏 ---- */
      .two-col {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 24px;
        align-items: start;
      }

      .col-left,
      .col-right {
        display: flex;
        flex-direction: column;
        gap: 14px;
      }

      /* ---- 文章列表 ---- */
      .post {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 16px;
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        background-color: var(--surface);
        transition: border-color 0.18s ease, box-shadow 0.18s ease;
      }

      .post:hover {
        border-color: #cfdcea;
        box-shadow: 0 4px 14px rgba(22, 57, 90, 0.06);
      }

      .post__kind {
        flex: none;
        padding: 3px 10px;
        border-radius: 6px;
        font-size: 12px;
        font-weight: 700;
      }

      .post__kind--interview {
        background-color: #e7f4f1;
        color: #2e9e8f;
      }

      .post__kind--article {
        background-color: #eaf0f7;
        color: var(--navy-800);
      }

      .post__text {
        display: flex;
        min-width: 0;
        flex: 1;
        flex-direction: column;
        gap: 4px;
      }

      .post__title {
        overflow: hidden;
        font-size: 15px;
        font-weight: 700;
        color: var(--text);
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .post__meta {
        font-size: 12px;
        color: var(--dim);
      }

      .post__arrow {
        flex: none;
        color: var(--dim);
      }

      /* ---- 右栏卡片 ---- */
      .card {
        display: flex;
        flex-direction: column;
        gap: 14px;
        padding: 18px 20px;
        border: 1px solid var(--border);
        border-radius: var(--radius-lg);
        background-color: var(--surface);
      }

      .card__title {
        font-size: 16px;
        font-weight: 700;
        color: var(--text);
      }

      .tag-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .tag-pill {
        display: inline-flex;
        padding: 5px 11px;
        border-radius: 999px;
        font-size: 12px;
      }

      .tag-pill--navy {
        background-color: #eaf0f7;
        color: var(--navy-800);
      }
      .tag-pill--teal {
        background-color: #e7f4f1;
        color: #2e9e8f;
      }
      .tag-pill--gold {
        background-color: #fbf3dd;
        color: var(--gold-dark);
      }
      .tag-pill--purple {
        background-color: #f3e8ff;
        color: #7c3aed;
      }

      /* ---- 垂直站导流 ---- */
      .vsite {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 14px;
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        background-color: var(--bg);
        transition: border-color 0.18s ease, background-color 0.18s ease;
      }

      .vsite:hover {
        border-color: #cfdcea;
        background-color: #f2f6fb;
      }

      .vsite__dot {
        flex: none;
        width: 8px;
        height: 8px;
        border-radius: 50%;
      }

      .vsite__dot--teal {
        background-color: #2e9e8f;
      }
      .vsite__dot--navy {
        background-color: var(--navy-800);
      }

      .vsite__text {
        display: flex;
        min-width: 0;
        flex: 1;
        flex-direction: column;
        gap: 2px;
      }

      .vsite__name {
        font-size: 14px;
        font-weight: 700;
        color: var(--text);
      }

      .vsite__desc {
        font-size: 12px;
        color: var(--muted);
      }

      .vsite__arrow {
        flex: none;
      }
      .vsite__arrow--teal {
        color: #2e9e8f;
      }
      .vsite__arrow--navy {
        color: var(--navy-800);
      }

      /* ---- 政府名录横幅 ---- */
      .gov-banner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 18px 24px;
        border: 1px solid #e8c766;
        border-radius: var(--radius-lg);
        background-color: #fbf3dd;
      }

      .gov-banner__left {
        display: flex;
        align-items: center;
        gap: 12px;
      }

      .gov-banner__left .icon {
        color: var(--gold-dark);
      }

      .gov-banner__text {
        display: flex;
        flex-direction: column;
        gap: 2px;
      }

      .gov-banner__title {
        font-size: 15px;
        font-weight: 700;
        color: var(--gold-deep);
      }

      .gov-banner__sub {
        font-size: 12px;
        color: var(--gold-dark);
      }

      .gov-banner__enter {
        flex: none;
        font-size: 14px;
        font-weight: 700;
        color: var(--gold-dark);
        white-space: nowrap;
      }

      .gov-banner__enter:hover {
        text-decoration: underline;
      }


      /* ================= 分类页专用 ================= */

      /* ---- 侧栏分类项（带层级 + 箭头） ---- */
      .cat__item--lvl1,
      .cat__item--lvl2 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding-right: 16px;
      }

      .cat__item--lvl1 {
        padding-left: 20px;
      }

      .cat__item--lvl2 {
        padding-left: 44px;
      }

      .cat__item--active {
        background-color: #eaf0f7;
        color: var(--navy-800);
        font-weight: 700;
      }

      .cat__item .icon {
        flex: none;
        color: var(--dim);
      }

      .cat__item--active .icon {
        color: var(--navy-800);
      }

      .cat__name--active {
        color: var(--navy-800);
      }

      /* ---- 面包屑 ---- */
      .breadcrumb {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        font-size: 13px;
      }

      .breadcrumb__link {
        color: var(--muted);
      }

      .breadcrumb__link:hover {
        color: var(--navy-800);
      }

      .breadcrumb__sep {
        color: var(--dim);
      }

      .breadcrumb__current {
        color: var(--text);
        font-weight: 700;
      }

      /* ---- 列表头（标题 + 排序） ---- */
      .list-head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
      }

      .list-head__title-wrap {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }

      .list-head__title {
        margin: 0;
        font-size: 24px;
        font-weight: 700;
        color: var(--text);
      }

      .list-head__count {
        font-size: 13px;
        color: var(--dim);
      }

      .list-head__sort {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
      }

      .list-head__sort-label {
        font-size: 13px;
        color: var(--dim);
      }

      .sort-btn {
        padding: 6px 12px;
        border: 1px solid var(--border);
        border-radius: var(--radius-sm);
        background-color: var(--surface);
        color: var(--muted);
        font-size: 13px;
        white-space: nowrap;
        transition: border-color 0.18s ease, background-color 0.18s ease,
          color 0.18s ease;
      }

      .sort-btn:hover {
        border-color: var(--navy-800);
        color: var(--navy-800);
      }

      .sort-btn--active {
        background-color: var(--navy-800);
        border-color: var(--navy-800);
        color: #fff;
        font-weight: 700;
      }

      .sort-btn--active:hover {
        background-color: var(--navy-900);
        border-color: var(--navy-900);
        color: #fff;
      }

      /* ---- 人物列表行 ---- */
      .person-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .person-row {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 16px 18px;
        border: 1px solid var(--border);
        border-radius: var(--radius-lg);
        background-color: var(--surface);
        transition: border-color 0.18s ease, box-shadow 0.18s ease,
          transform 0.18s ease;
      }

      .person-row:hover {
        border-color: #cfdcea;
        box-shadow: 0 6px 20px rgba(22, 57, 90, 0.08);
        transform: translateY(-1px);
      }

      .person-row__info {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        flex-direction: column;
        gap: 6px;
      }

      .person-row__name-row {
        display: flex;
        align-items: center;
        gap: 10px;
      }

      .person-row__name {
        font-size: 16px;
        font-weight: 700;
        color: var(--text);
      }

.person-row__role {
  font-size: 13px;
  color: var(--muted);
}

.person-row__summary {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--dim);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

      .person-row__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .person-row__right {
        display: flex;
        flex: none;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
        width: 150px;
      }

      .person-row__heat {
        font-size: 12px;
        color: var(--dim);
      }

      .person-row__src {
        padding: 2px 8px;
        border-radius: 6px;
        background-color: #f3f4f6;
        color: var(--muted);
        font-size: 11px;
      }

      .person-row__view {
        color: var(--navy-800);
        font-size: 13px;
        font-weight: 700;
      }

      /* ---- 分页 ---- */
      .pagination {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 6px;
      }

      .pagination__prev,
      .pagination__next {
        padding: 0 8px;
        color: var(--muted);
        font-size: 14px;
      }

      .pagination__prev:hover,
      .pagination__next:hover {
        color: var(--navy-800);
      }

      .pagination__prev--disabled {
        color: var(--dim);
        cursor: not-allowed;
      }

      .pagination__prev--disabled:hover {
        color: var(--dim);
      }

      .pagination__page {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border: 1px solid var(--border);
        border-radius: var(--radius-sm);
        background-color: var(--surface);
        color: var(--muted);
        font-size: 14px;
        transition: border-color 0.18s ease, color 0.18s ease,
          background-color 0.18s ease;
      }

      .pagination__page:hover {
        border-color: var(--navy-800);
        color: var(--navy-800);
      }

      .pagination__page--active {
        background-color: var(--navy-800);
        border-color: var(--navy-800);
        color: #fff;
        font-weight: 700;
      }

      .pagination__page--active:hover {
        background-color: var(--navy-900);
        border-color: var(--navy-900);
        color: #fff;
      }

      /* ---- 列表页响应式 ---- */
      @media (max-width: 960px) {
        .person-row {
          flex-wrap: wrap;
        }

        .person-row__right {
          align-items: flex-start;
          width: 100%;
          padding-top: 8px;
          border-top: 1px solid var(--border);
        }

        .list-head {
          align-items: flex-start;
        }

        .pagination {
          gap: 4px;
        }

        .pagination__page {
          width: 30px;
          height: 30px;
          font-size: 13px;
        }
      }


      /* ================= 人物详情页专用 ================= */

      /* ---- 扩展标签色（复用 index 的 tag 体系） ---- */
      .tag--gold {
        background-color: #fbf3dd;
        color: var(--gold-dark);
      }
      .tag--purple {
        background-color: #f3e8ff;
        color: #7c3aed;
      }

      /* ---- 来源药丸（列表页 / 详情页通用） ---- */
      .source-pill {
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        border-radius: 6px;
        background-color: #f3f4f6;
        color: var(--muted);
        font-size: 11px;
      }

      /* ---- 卡片加强版（详情页用） ---- */
      .card--lg {
        padding: 20px 24px;
      }

      .card__desc {
        margin: 0;
        color: var(--muted);
        font-size: 13px;
        line-height: 1.7;
      }

      .card__note {
        color: var(--dim);
        font-size: 11px;
      }

      /* ---- 按钮：块级 ---- */
      .btn--block {
        display: flex;
        width: 100%;
        padding: 11px 0;
      }

      /* ---- 人物头卡 ---- */
      .profile-card {
        display: flex;
        align-items: center;
        gap: 24px;
        padding: 24px;
        background-color: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius-lg);
      }

      .profile-card__avatar {
        display: grid;
        flex: none;
        place-items: center;
        width: 76px;
        height: 76px;
        border-radius: 999px;
        background-color: #eaf0f7;
        color: var(--navy-800);
        font-size: 30px;
        font-weight: 700;
      }

      .profile-card__info {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        flex-direction: column;
        gap: 10px;
      }

      .profile-card__name-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
      }

      .profile-card__name {
        margin: 0;
        font-size: 26px;
        font-weight: 700;
        color: var(--text);
        line-height: 1.2;
      }

      .profile-card__badge {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 4px 10px;
        border-radius: 999px;
        background-color: #e8f6ee;
        color: #16a34a;
        font-size: 12px;
        font-weight: 700;
      }

      .profile-card__badge .icon {
        color: #16a34a;
      }

      .profile-card__role {
        color: var(--muted);
        font-size: 15px;
      }

      .profile-card__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .profile-card__sources {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .profile-card__right {
        display: flex;
        flex: none;
        flex-direction: column;
        align-items: flex-end;
        gap: 12px;
        width: 190px;
      }

      .profile-card__claim {
        gap: 6px;
        padding: 10px 20px;
      }

      .profile-card__stats {
        display: flex;
        gap: 16px;
      }

      .profile-card__stat {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
      }

      .profile-card__stat-val {
        color: var(--text);
        font-size: 16px;
        font-weight: 700;
      }

      .profile-card__stat-label {
        color: var(--dim);
        font-size: 11px;
      }

      /* ---- 标签页 ---- */
      .tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 26px;
        border-bottom: 1px solid var(--border);
      }

      .tabs__item {
        position: relative;
        padding: 0 0 12px;
        color: var(--muted);
        font-size: 14px;
        transition: color 0.15s ease;
      }

      .tabs__item:hover {
        color: var(--navy-800);
      }

      .tabs__item--active {
        color: var(--navy-800);
        font-weight: 700;
      }

      .tabs__item--active::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1px;
        height: 3px;
        border-radius: 2px 2px 0 0;
        background-color: var(--navy-800);
      }

      /* ---- 基础信息 KV 网格 ---- */
      .kv-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 24px;
      }

      .kv {
        display: flex;
        flex-direction: column;
        gap: 3px;
      }

      .kv__key {
        color: var(--dim);
        font-size: 12px;
      }

      .kv__val {
        color: var(--text);
        font-size: 14px;
      }

      /* ---- 履历时间线 ---- */
      .timeline {
        display: flex;
        flex-direction: column;
        gap: 18px;
      }

      .timeline__entry {
        display: flex;
        gap: 16px;
      }

      .timeline__year {
        flex: none;
        width: 96px;
        color: var(--dim);
        font-size: 13px;
      }

      .timeline__dot-col {
        display: flex;
        flex: none;
        flex-direction: column;
        align-items: center;
        width: 12px;
        padding-top: 4px;
      }

      .timeline__dot {
        display: block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background-color: var(--navy-800);
      }

      .timeline__body {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        flex-direction: column;
        gap: 4px;
      }

      .timeline__role {
        color: var(--text);
        font-size: 15px;
        font-weight: 700;
      }

      .timeline__org {
        color: #2e9e8f;
        font-size: 13px;
      }

      .timeline__desc {
        color: var(--muted);
        font-size: 13px;
        line-height: 1.6;
      }

      /* ---- 言论引用 ---- */
      .quote {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 14px 16px;
        border-radius: var(--radius-md);
        background-color: #f9fafb;
      }

      .quote__text {
        color: var(--text);
        font-size: 14px;
        line-height: 1.6;
      }

      .quote__meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
      }

      .quote__src {
        color: var(--dim);
        font-size: 12px;
      }

      .quote__stance {
        padding: 2px 8px;
        border-radius: 6px;
        font-size: 11px;
        font-weight: 700;
      }

      .quote__stance--agree {
        background-color: #e8f6ee;
        color: #16a34a;
      }

      .quote__stance--neutral {
        background-color: #fbf3dd;
        color: var(--gold-dark);
      }

      /* ---- 相关人物 ---- */
      .rel-list {
        display: flex;
        flex-direction: column;
        gap: 14px;
      }

      .rel {
        display: flex;
        align-items: center;
        gap: 12px;
        transition: color 0.15s ease;
      }

      .rel:hover .rel__name {
        color: var(--navy-800);
      }

      .rel__avatar {
        display: grid;
        flex: none;
        place-items: center;
        width: 36px;
        height: 36px;
        border-radius: 999px;
        background-color: #eaf0f7;
        color: var(--navy-800);
        font-size: 14px;
        font-weight: 700;
      }

      .rel__text {
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        flex-direction: column;
        gap: 2px;
      }

      .rel__name {
        color: var(--text);
        font-size: 14px;
        font-weight: 700;
        transition: color 0.15s ease;
      }

      .rel__role {
        color: var(--muted);
        font-size: 12px;
      }

      .rel__arrow {
        flex: none;
        color: var(--dim);
      }

      /* ---- 详情页响应式 ---- */
      @media (max-width: 960px) {
        .profile-card {
          flex-wrap: wrap;
          align-items: flex-start;
        }

        .profile-card__right {
          align-items: stretch;
          width: 100%;
          padding-top: 16px;
          border-top: 1px solid var(--border);
        }

        .profile-card__claim,
        .profile-card__stats {
          width: 100%;
        }

        .profile-card__stats {
          justify-content: space-between;
        }

        .kv-grid {
          grid-template-columns: minmax(0, 1fr);
        }

        .timeline__entry {
          flex-wrap: wrap;
        }

        .timeline__year {
          width: 100%;
        }
      }

      /* ================= 响应式 ================= */
      @media (max-width: 1180px) {
        .two-col {
          grid-template-columns: minmax(0, 1fr);
        }
      }

      @media (max-width: 960px) {
        .shell {
          max-width: none;
        }

        .layout {
          flex-direction: column;
        }

        .sidebar {
          flex: 0 0 auto;
          width: 100%;
          border-right: 0;
          border-bottom: 1px solid var(--border);
        }

        .sidebar__spacer {
          display: none;
        }

        .main {
          gap: 24px;
          padding: 20px 16px 32px;
        }

        .hero {
          padding: 28px 20px;
          border-radius: 14px;
        }

        .hero__title {
          font-size: 24px;
        }

        .hero-search {
          flex-wrap: wrap;
        }

        .hero-search input {
          flex: 1 0 100%;
          padding: 6px 6px 6px 4px;
        }

        .hero-search .btn {
          flex: 1;
        }

        .gov-banner {
          flex-direction: column;
          align-items: flex-start;
        }
      }

/* ================= 人物详情双栏布局 ================= */
.person-main {
  gap: 24px;
}

.person-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 3fr);
  gap: 24px;
  align-items: start;
}

.person-layout__col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.person-layout__col--right {
  position: sticky;
  top: 88px;
}

.person-section {
  margin: 0;
}

.opinion-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.opinion-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background-color: var(--surface);
  color: var(--muted);
  font-size: 12px;
  cursor: pointer;
  transition: color 0.18s ease, border-color 0.18s ease,
    background-color 0.18s ease;
}

.opinion-action:hover {
  color: var(--navy-800);
  border-color: #cfdcea;
}

.opinion-action.is-active {
  color: #fff;
  background-color: var(--navy-800);
  border-color: var(--navy-800);
}

.opinion-evaluate-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background-color: var(--bg);
}

.opinion-evaluate-text {
  width: 100%;
  min-height: 76px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background-color: #fff;
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
}

.opinion-evaluate-text:focus {
  outline: none;
  border-color: var(--navy-800);
}

.opinion-submit {
  align-self: flex-end;
  padding: 8px 14px;
  border: 0;
  border-radius: 8px;
  background-color: var(--navy-800);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.person-summary {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.person-summary__label {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}

.person-summary__text {
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
}

.person-basic-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 24px;
  align-items: start;
}

.person-basic-photos {
  min-width: 0;
}

@media (max-width: 960px) {
  .person-basic-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

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

.tag-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background-color: var(--surface);
  transition: border-color 0.18s ease, box-shadow 0.18s ease,
    transform 0.18s ease;
}

.tag-card:hover {
  border-color: #cfdcea;
  box-shadow: 0 8px 22px rgba(22, 57, 90, 0.08);
  transform: translateY(-2px);
}

.tag-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tag-card__name {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
}

.tag-card__type {
  flex: none;
  padding: 4px 10px;
  border-radius: 999px;
  background-color: #eaf0f7;
  color: var(--navy-800);
  font-size: 12px;
  font-weight: 700;
}

.tag-card__desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

.tag-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  color: var(--dim);
}

.region-hero {
  padding: 24px 0 8px;
}

.region-hero__title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: var(--text);
}

.region-hero__desc {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.region-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.region-group {
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background-color: var(--surface);
}

.region-group--top .region-child__name {
  font-size: 17px;
}

.region-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: var(--text);
  font-family: inherit;
}

.region-child__name {
  font-size: 16px;
  font-weight: 700;
}

.region-child__count {
  min-width: 26px;
  padding: 2px 8px;
  border-radius: 999px;
  background-color: #eaf0f7;
  color: var(--navy-800);
  font-size: 12px;
  text-align: center;
}

.region-grandchildren {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.region-grandchild {
  padding: 5px 11px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background-color: var(--bg);
  color: var(--muted);
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
}

.region-grandchild:hover {
  color: var(--navy-800);
  border-color: #cfdcea;
}

.region-empty {
  font-size: 12px;
  color: var(--dim);
}

.region-breadcrumb-link {
  border: 0;
  background: transparent;
  color: var(--navy-800);
  font-family: inherit;
  font-size: 14px;
  cursor: pointer;
}

.region-breadcrumb-link:hover {
  text-decoration: underline;
}

.tag-card__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.tag-card__actions a {
  color: var(--navy-800);
  font-size: 13px;
  font-weight: 700;
}

.tag-card__actions a:hover {
  text-decoration: underline;
}

.tag-detail-hero {
  padding: 22px 0 10px;
}

.tag-detail-hero__name {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: var(--text);
}

.tag-detail-hero__type {
  display: inline-flex;
  margin-top: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  background-color: #eaf0f7;
  color: var(--navy-800);
  font-size: 12px;
  font-weight: 700;
}

.tag-detail-hero__desc {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
}

.article-detail {
  padding: 24px 0;
}

.article-detail__title {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text);
}

.article-detail__meta {
  margin-top: 10px;
  font-size: 13px;
  color: var(--dim);
}

.article-detail__body {
  margin-top: 22px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--text);
  white-space: pre-wrap;
}

.article-detail__person {
  display: inline-flex;
  margin-top: 22px;
  color: var(--navy-800);
  font-size: 14px;
  font-weight: 700;
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
  gap: 24px;
  align-items: start;
}

.article-layout__side {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.pro-hero {
  padding: 32px 0;
}

.pro-hero__label {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background-color: #fbf3dd;
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 700;
}

.pro-hero__name {
  margin: 12px 0 0;
  font-size: 34px;
  font-weight: 700;
  color: var(--text);
}

.pro-hero__title {
  margin-top: 8px;
  color: var(--navy-800);
  font-weight: 700;
}

.pro-hero__tagline {
  margin: 12px 0 0;
  font-size: 16px;
  color: var(--text);
}

.pro-hero__sub,
.pro-hero__meta {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.pro-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.pro-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  border-radius: 10px;
  background-color: var(--bg);
}

.pro-stat b {
  font-size: 20px;
  color: var(--navy-800);
}

.pro-stat span {
  font-size: 12px;
  color: var(--dim);
}

.pro-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.pro-card {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background-color: var(--surface);
}

.pro-card h3 {
  margin: 0 0 8px;
  font-size: 16px;
}

.pro-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.pro-method {
  display: grid;
  grid-template-columns: 42px minmax(120px, auto) 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
}

.pro-photo {
  margin: 0;
}

.pro-photo img {
  width: 100%;
  border-radius: 12px;
}

.pro-photo figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--muted);
}

.pro-disclaimer {
  margin-top: 22px;
  padding: 12px 16px;
  border-radius: 10px;
  background-color: #f8fafc;
  color: var(--dim);
  font-size: 12px;
}

.person-photo-slider .slider {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #f3f4f6;
}

.person-photo-slider .slider-track {
  display: flex;
  transition: transform 0.35s ease;
}

.person-photo-slider .slide {
  flex: 0 0 100%;
  margin: 0;
}

.person-photo-slider .slide img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

.person-photo-slider .sl-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(20, 32, 43, 0.45);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}

.person-photo-slider .sl-btn.prev {
  left: 10px;
}

.person-photo-slider .sl-btn.next {
  right: 10px;
}

.person-photo-slider .media-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}

.person-photo-slider .slider-dots {
  display: flex;
  gap: 6px;
}

.person-photo-slider .dot {
  width: 20px;
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: #e5e7eb;
  cursor: pointer;
}

.person-photo-slider .dot.active {
  background: var(--navy-800, #1f4e79);
}

.person-photo-slider .sl-counter {
  font-size: 12px;
  color: var(--dim, #9ca3af);
}

.job-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.job-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
  color: var(--text);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.job-card:hover {
  border-color: #cfdcea;
  box-shadow: 0 5px 16px rgba(22, 57, 90, 0.08);
}

.job-card__dot {
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: #0ea5e9;
}

.job-card__name {
  flex: 1;
  font-size: 14px;
}

.job-card__count {
  flex: none;
  color: var(--dim);
  font-size: 12px;
}

.job-note {
  margin: 0 0 16px;
  padding: 12px 16px;
  border-radius: 10px;
  background-color: #eaf0f7;
  color: #1f4e79;
  font-size: 13px;
  line-height: 21px;
}

.job-card__arrow {
  color: var(--dim);
}

@media (max-width: 1080px) {
  .job-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .job-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.article-side-card {
  margin: 0;
}

.waifenfa-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.waifenfa-card__title {
  margin: 0;
  color: #1f2937;
  font-size: 16px;
  font-weight: 700;
}

.waifenfa-card__desc {
  margin: 0;
  color: #6b7280;
  font-size: 12px;
  line-height: 19px;
}

.waifenfa-card__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.waifenfa-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.waifenfa-row__dot {
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.waifenfa-row__name {
  color: #1f2937;
  font-size: 13px;
  white-space: nowrap;
}

.waifenfa-row__data {
  margin-left: auto;
  color: #9ca3af;
  font-size: 12px;
  white-space: nowrap;
}

.waifenfa-row__badge {
  flex: none;
  padding: 2px 7px;
  border-radius: 6px;
  background-color: #e7f4f1;
  color: #2e9e8f;
  font-size: 10px;
  white-space: nowrap;
}

.lietou-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px 22px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.lietou-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lietou-card__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #e7f4f1;
  color: #2e9e8f;
  font-size: 14px;
  font-weight: 700;
}

.lietou-card__title {
  margin: 0;
  color: #1f2937;
  font-size: 16px;
  font-weight: 700;
}

.lietou-card__badge {
  margin-left: auto;
  padding: 2px 8px;
  border-radius: 6px;
  background: #e7f4f1;
  color: #2e9e8f;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.lietou-card__desc {
  margin: 0;
  color: #6b7280;
  font-size: 12px;
  line-height: 19px;
}

.lietou-card__profile {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #f7f9fc;
}

.lietou-card__avatar {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #2e9e8f;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}

.lietou-card__profile-info {
  flex: 1;
  min-width: 0;
}

.lietou-card__name-row {
  display: flex;
  align-items: center;
  gap: 5px;
}

.lietou-card__name {
  color: #1f2937;
  font-size: 15px;
  font-weight: 700;
}

.lietou-card__check {
  color: #2e9e8f;
  font-size: 13px;
}

.lietou-card__role {
  color: #6b7280;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lietou-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lietou-chip {
  padding: 3px 10px;
  border-radius: 999px;
  background: #e7f4f1;
  color: #2e9e8f;
  font-size: 12px;
}

.lietou-card__stats {
  display: flex;
  gap: 8px;
}

.lietou-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 9px 0;
  border-radius: 8px;
  background: #f9fafb;
}

.lietou-stat b {
  color: #1f2937;
  font-size: 14px;
  font-weight: 700;
}

.lietou-stat span {
  color: #9ca3af;
  font-size: 11px;
}

.lietou-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 0;
  border-radius: 8px;
  background: #eaf0f7;
  color: #1f4e79;
  font-size: 13px;
  font-weight: 700;
}

.lietou-card__cta span {
  font-size: 14px;
}

.article-ad__placeholder {
  display: grid;
  min-height: 160px;
  place-items: center;
  border: 1px dashed #cfdcea;
  border-radius: 12px;
  background-color: #f8fafc;
  color: var(--dim);
  font-size: 13px;
}

@media (max-width: 960px) {
  .article-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 960px) {
  .person-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .person-layout__col--right {
    position: static;
  }
}
    
