/* roulang page: index */
:root {
            --ql-primary: #1e3a8a;
            --ql-primary-dark: #172554;
            --ql-accent: #2563eb;
            --ql-bg-light: #f8fafc;
            --ql-border: #e2e8f0;
            --ql-text-main: #0f172a;
            --ql-text-muted: #64748b;
            --ql-card-border: #cbd5e1;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: var(--ql-text-main);
            background-color: #f1f5f9;
            line-height: 1.6;
            margin: 0;
            padding: 0;
        }

        /* 顶部通栏状态条 */
        .site-topbar {
            background-color: #0b192c;
            color: #94a3b8;
            font-size: 12px;
            padding: 6px 0;
            border-bottom: 1px solid #1e293b;
        }

        /* 主导航栏 */
        .site-header {
            background: #ffffff;
            border-bottom: 1px solid var(--ql-border);
            padding: 16px 0;
        }

        .brand-logo-wrap {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
        }

        .brand-logo-icon {
            width: 38px;
            height: 38px;
            background: linear-gradient(135deg, #1e3a8a, #3b82f6);
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 20px;
        }

        .brand-logo-title {
            font-size: 22px;
            font-weight: 800;
            color: #0f172a;
            letter-spacing: -0.5px;
            line-height: 1.1;
            margin: 0;
        }

        .brand-logo-sub {
            font-size: 11px;
            color: #64748b;
            letter-spacing: 1px;
            text-transform: uppercase;
            margin-top: 2px;
            font-weight: 500;
        }

        .nav-slogan {
            font-size: 13px;
            color: #64748b;
            padding-left: 14px;
            border-left: 1px solid #cbd5e1;
        }

        .header-search-box {
            background: #f8fafc;
            border: 1px solid #cbd5e1;
            border-radius: 4px;
            padding: 6px 14px;
            display: flex;
            align-items: center;
            width: 280px;
        }

        .header-search-box input {
            border: none;
            background: transparent;
            font-size: 13px;
            outline: none;
            width: 100%;
            color: #1e293b;
        }

        /* 二级分类导航栏 */
        .subnav-bar {
            background: #ffffff;
            border-bottom: 1px solid var(--ql-border);
            padding: 0;
        }

        .subnav-links {
            display: flex;
            align-items: center;
            list-style: none;
            margin: 0;
            padding: 0;
            gap: 28px;
            overflow-x: auto;
            white-space: nowrap;
        }

        .subnav-links a {
            display: inline-block;
            padding: 14px 0;
            color: #334155;
            font-size: 14px;
            font-weight: 500;
            text-decoration: none;
            position: relative;
        }

        .subnav-links a.active,
        .subnav-links a:hover {
            color: var(--ql-accent);
            font-weight: 600;
        }

        .subnav-links a.active::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 2px;
            background-color: var(--ql-accent);
        }

        .site-container-card {
            background: #ffffff;
            border-radius: 4px;
            border: 1px solid var(--ql-border);
            box-shadow: 0 1px 3px rgba(0,0,0,0.02);
            margin-top: 24px;
            margin-bottom: 40px;
            padding: 28px 32px;
        }

        /* 顶部首屏资讯中心横条 (跟图1/图2/图4) */
        .hub-header-bar {
            display: flex;
            align-items: center;
            margin-bottom: 24px;
            gap: 16px;
        }

        .hub-badge {
            background-color: #0f172a;
            color: #ffffff;
            font-size: 12px;
            font-weight: 700;
            padding: 6px 12px;
            border-radius: 2px;
            letter-spacing: 0.5px;
        }

        .hub-main-title {
            font-size: 26px;
            font-weight: 800;
            color: #0f172a;
            margin: 0;
            line-height: 1.2;
        }

        .hub-sub-desc {
            font-size: 13px;
            color: #64748b;
            margin-left: 12px;
            padding-left: 14px;
            border-left: 1px solid #cbd5e1;
        }

        /* 四格矩阵索引条 (跟图3/图4) */
        .desk-index-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            border: 1px solid #e2e8f0;
            margin-bottom: 32px;
            background: #ffffff;
        }

        .desk-index-item {
            padding: 16px 20px;
            border-right: 1px solid #e2e8f0;
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            text-decoration: none;
            color: inherit;
            transition: background 0.15s ease;
        }

        .desk-index-item:last-child {
            border-right: none;
        }

        .desk-index-item:hover {
            background: #f8fafc;
        }

        .desk-index-item.primary-cta {
            background-color: #1e3a8a;
            color: #ffffff;
        }

        .desk-index-item.primary-cta:hover {
            background-color: #172554;
        }

        .desk-idx-num {
            font-size: 11px;
            font-weight: 700;
            opacity: 0.6;
            margin-right: 8px;
        }

        .desk-idx-title {
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 2px;
        }

        .desk-idx-desc {
            font-size: 12px;
            color: #64748b;
        }

        .desk-index-item.primary-cta .desk-idx-desc {
            color: #cbd5e1;
        }

        /* 双列核心图文资讯 (跟图1/2/3/4/5的主结构) */
        .column-section-title {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            border-left: 4px solid #1e3a8a;
            padding-left: 12px;
            margin-bottom: 8px;
        }

        .column-section-title h2 {
            font-size: 20px;
            font-weight: 700;
            margin: 0;
            color: #0f172a;
        }

        .column-sub-lead {
            font-size: 12px;
            color: #64748b;
            margin-bottom: 16px;
        }

        /* 焦点黑底卡片 (严格还原图上带控制滑块与高楼大厦背景的黑色资讯卡) */
        .featured-hero-card {
            position: relative;
            height: 220px;
            border-radius: 4px;
            overflow: hidden;
            background-color: #09121d;
            background-size: cover;
            background-position: center;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 24px;
            color: #ffffff;
            margin-bottom: 16px;
            text-decoration: none;
        }

        .featured-hero-card::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(15, 23, 42, 0.45) 0%, rgba(15, 23, 42, 0.88) 100%);
            z-index: 1;
        }

        .featured-hero-card-content {
            position: relative;
            z-index: 2;
        }

        .featured-hero-card-title {
            font-size: 20px;
            font-weight: 700;
            line-height: 1.4;
            color: #ffffff;
            margin-bottom: 18px;
        }

        .featured-ctrl-bar {
            display: flex;
            align-items: center;
            font-size: 11px;
            opacity: 0.8;
            gap: 12px;
        }

        .featured-ctrl-track {
            flex-grow: 1;
            height: 2px;
            background: rgba(255, 255, 255, 0.25);
            border-radius: 2px;
            position: relative;
        }

        .featured-ctrl-track::after {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 35%;
            background: #ffffff;
            border-radius: 2px;
        }

        /* 文章列表清单条目 */
        .news-entry-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .news-entry-item {
            padding: 13px 0;
            border-bottom: 1px solid #f1f5f9;
        }

        .news-entry-item:last-child {
            border-bottom: none;
        }

        .news-entry-link {
            text-decoration: none;
            color: #1e293b;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.45;
            display: block;
            margin-bottom: 4px;
            transition: color 0.15s ease;
        }

        .news-entry-link:hover {
            color: var(--ql-accent);
        }

        .news-entry-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 12px;
            color: #94a3b8;
        }

        .section-more-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #334155;
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;
            margin-top: 14px;
            padding-top: 8px;
            border-top: 1px solid #f1f5f9;
            width: 100%;
        }

        .section-more-link:hover {
            color: var(--ql-accent);
        }

        /* 底部信息块 */
        .site-footer {
            background-color: #f8fafc;
            border-top: 1px solid #e2e8f0;
            padding: 48px 0 24px;
            font-size: 13px;
            color: #64748b;
        }

        .footer-brand-title {
            font-size: 18px;
            font-weight: 800;
            color: #0f172a;
            margin-bottom: 8px;
        }

        .footer-column-heading {
            font-size: 13px;
            font-weight: 700;
            color: #334155;
            margin-bottom: 16px;
        }

        .footer-link-group {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .footer-link-group li {
            margin-bottom: 8px;
        }

        .footer-link-group a {
            color: #64748b;
            text-decoration: none;
            transition: color 0.15s ease;
        }

        .footer-link-group a:hover {
            color: var(--ql-accent);
        }

        .footer-bottom-bar {
            margin-top: 36px;
            padding-top: 20px;
            border-top: 1px solid #e2e8f0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 12px;
            color: #94a3b8;
        }

        /* 响应式调整 */
        @media (max-width: 1024px) {
            .desk-index-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .desk-index-item:nth-child(2) {
                border-right: none;
            }
            .desk-index-item:nth-child(-n+2) {
                border-bottom: 1px solid #e2e8f0;
            }
        }

        @media (max-width: 768px) {
            .site-container-card {
                padding: 18px 16px;
                margin-top: 12px;
            }
            .hub-header-bar {
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
            }
            .hub-sub-desc {
                margin-left: 0;
                padding-left: 0;
                border-left: none;
            }
            .desk-index-grid {
                grid-template-columns: 1fr;
            }
            .desk-index-item {
                border-right: none;
                border-bottom: 1px solid #e2e8f0;
            }
            .desk-index-item:last-child {
                border-bottom: none;
            }
            .header-search-box {
                display: none;
            }
            .footer-bottom-bar {
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
            }
        }

/* roulang page: category1 */
:root {
      --ql-primary: #1e3a8a;
      --ql-primary-dark: #172554;
      --ql-accent: #2563eb;
      --ql-bg-light: #f8fafc;
      --ql-border: #e2e8f0;
      --ql-text-main: #0f172a;
      --ql-text-muted: #64748b;
      --ql-card-border: #cbd5e1;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--ql-text-main);
      background-color: #f1f5f9;
      line-height: 1.6;
      margin: 0;
      padding: 0;
    }
    .site-topbar {
      background-color: #0b192c;
      color: #94a3b8;
      font-size: 12px;
      padding: 6px 0;
      border-bottom: 1px solid #1e293b;
    }
    .site-header {
      background: #ffffff;
      border-bottom: 1px solid var(--ql-border);
      padding: 16px 0;
    }
    .brand-logo-wrap {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
    }
    .brand-logo-icon {
      width: 38px;
      height: 38px;
      background: linear-gradient(135deg, #1e3a8a, #3b82f6);
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 20px;
    }
    .brand-logo-title {
      font-size: 22px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.5px;
      line-height: 1.1;
      margin: 0;
    }
    .brand-logo-sub {
      font-size: 11px;
      color: #64748b;
      letter-spacing: 1px;
      text-transform: uppercase;
      margin-top: 2px;
      font-weight: 500;
    }
    .nav-slogan {
      font-size: 13px;
      color: #64748b;
      padding-left: 14px;
      border-left: 1px solid #cbd5e1;
    }
    .header-search-box {
      background: #f8fafc;
      border: 1px solid #cbd5e1;
      border-radius: 4px;
      padding: 6px 14px;
      display: flex;
      align-items: center;
      width: 280px;
    }
    .header-search-box input {
      border: none;
      background: transparent;
      font-size: 13px;
      outline: none;
      width: 100%;
      color: #1e293b;
    }
    .subnav-bar {
      background: #ffffff;
      border-bottom: 1px solid var(--ql-border);
      padding: 0;
    }
    .subnav-links {
      display: flex;
      align-items: center;
      list-style: none;
      margin: 0;
      padding: 0;
      gap: 28px;
      overflow-x: auto;
      white-space: nowrap;
    }
    .subnav-links a {
      display: inline-block;
      padding: 14px 0;
      color: #334155;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      position: relative;
    }
    .subnav-links a.active,
    .subnav-links a:hover {
      color: var(--ql-accent);
      font-weight: 600;
    }
    .subnav-links a.active::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background-color: var(--ql-accent);
    }
    .site-container-card {
      background: #ffffff;
      border-radius: 4px;
      border: 1px solid var(--ql-border);
      box-shadow: 0 1px 3px rgba(0,0,0,0.02);
      margin-top: 24px;
      margin-bottom: 40px;
      padding: 28px 32px;
    }
    .hub-header-bar {
      display: flex;
      align-items: center;
      margin-bottom: 24px;
      gap: 16px;
    }
    .hub-badge {
      background-color: #0f172a;
      color: #ffffff;
      font-size: 12px;
      font-weight: 700;
      padding: 6px 12px;
      border-radius: 2px;
      letter-spacing: 0.5px;
    }
    .hub-main-title {
      font-size: 26px;
      font-weight: 800;
      color: #0f172a;
      margin: 0;
      line-height: 1.2;
    }
    .desk-index-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border: 1px solid #e2e8f0;
      margin-bottom: 32px;
      background: #ffffff;
    }
    .desk-index-item {
      padding: 16px 20px;
      border-right: 1px solid #e2e8f0;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      text-decoration: none;
      color: inherit;
      transition: background 0.15s ease;
    }
    .desk-index-item:last-child {
      border-right: none;
    }
    .desk-index-item:hover {
      background: #f8fafc;
    }
    .desk-index-item.primary-cta {
      background-color: #1e3a8a;
      color: #ffffff;
    }
    .desk-index-item.primary-cta:hover {
      background-color: #172554;
    }
    .desk-idx-title {
      font-size: 15px;
      font-weight: 700;
      margin-bottom: 2px;
    }
    .desk-idx-desc {
      font-size: 12px;
      color: #64748b;
    }
    .desk-index-item.primary-cta .desk-idx-desc {
      color: #cbd5e1;
    }
    .column-section-title {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      border-left: 4px solid #1e3a8a;
      padding-left: 12px;
      margin-bottom: 8px;
    }
    .column-section-title h2 {
      font-size: 20px;
      font-weight: 700;
      margin: 0;
      color: #0f172a;
    }
    .column-sub-lead {
      font-size: 12px;
      color: #64748b;
      margin-bottom: 16px;
    }
    .featured-hero-card {
      position: relative;
      height: 240px;
      border-radius: 4px;
      overflow: hidden;
      background-color: #09121d;
      background-size: cover;
      background-position: center;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 24px;
      color: #ffffff;
      margin-bottom: 16px;
      text-decoration: none;
    }
    .featured-hero-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(180deg, rgba(15,23,42,0.2) 0%, rgba(15,23,42,0.92) 100%);
    }
    .featured-hero-content {
      position: relative;
      z-index: 2;
    }
    .featured-hero-title {
      font-size: 19px;
      font-weight: 700;
      line-height: 1.4;
      color: #ffffff;
      margin-bottom: 14px;
    }
    .featured-hero-meta {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 12px;
      color: #cbd5e1;
    }
    .article-text-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .article-text-item {
      padding: 12px 0;
      border-bottom: 1px solid #f1f5f9;
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
    }
    .article-text-item:last-child {
      border-bottom: none;
    }
    .article-text-title {
      font-size: 14px;
      color: #1e293b;
      text-decoration: none;
      flex: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      transition: color 0.15s ease;
    }
    .article-text-title:hover {
      color: var(--ql-accent);
    }
    .article-text-meta {
      font-size: 12px;
      color: #94a3b8;
      white-space: nowrap;
    }
    .section-more-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 13px;
      color: #334155;
      font-weight: 600;
      text-decoration: none;
      padding-top: 14px;
      border-top: 1px solid #f1f5f9;
      width: 100%;
    }
    .section-more-link:hover {
      color: var(--ql-accent);
    }
    .matrix-card {
      background: #f8fafc;
      border: 1px solid var(--ql-border);
      padding: 20px;
      border-radius: 4px;
      height: 100%;
    }
    .matrix-card-title {
      font-size: 16px;
      font-weight: 700;
      color: var(--ql-primary-dark);
      margin-bottom: 8px;
    }
    .matrix-card-desc {
      font-size: 13px;
      color: #475569;
      line-height: 1.6;
      margin: 0;
    }
    .faq-item {
      border-bottom: 1px solid var(--ql-border);
      padding: 16px 0;
    }
    .faq-question {
      font-size: 15px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 6px;
    }
    .faq-answer {
      font-size: 13px;
      color: #475569;
      line-height: 1.6;
      margin: 0;
    }
    .site-footer {
      background: #ffffff;
      border-top: 1px solid var(--ql-border);
      padding: 40px 0 20px;
      font-size: 13px;
    }
    .footer-brand-title {
      font-size: 18px;
      font-weight: 800;
      color: #0f172a;
    }
    .footer-column-heading {
      font-size: 14px;
      font-weight: 700;
      color: #0f172a;
      margin-bottom: 12px;
    }
    .footer-link-group {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .footer-link-group li {
      margin-bottom: 8px;
    }
    .footer-link-group a {
      color: #64748b;
      text-decoration: none;
    }
    .footer-link-group a:hover {
      color: var(--ql-accent);
    }
    .footer-bottom-bar {
      border-top: 1px solid var(--ql-border);
      margin-top: 32px;
      padding-top: 18px;
      color: #94a3b8;
      font-size: 12px;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    @media (max-width: 991px) {
      .desk-index-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .desk-index-item:nth-child(2) {
        border-right: none;
      }
      .desk-index-item:nth-child(1),
      .desk-index-item:nth-child(2) {
        border-bottom: 1px solid #e2e8f0;
      }
      .site-container-card {
        padding: 20px;
      }
    }
    @media (max-width: 767px) {
      .desk-index-grid {
        grid-template-columns: 1fr;
      }
      .desk-index-item {
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
      }
      .header-search-box {
        display: none;
      }
      .featured-hero-card {
        height: 200px;
        padding: 16px;
      }
      .featured-hero-title {
        font-size: 16px;
      }
    }

/* roulang page: article */
:root {
      --ql-primary: #1e3a8a;
      --ql-primary-dark: #172554;
      --ql-accent: #2563eb;
      --ql-bg-light: #f8fafc;
      --ql-border: #e2e8f0;
      --ql-text-main: #0f172a;
      --ql-text-muted: #64748b;
      --ql-card-border: #cbd5e1;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--ql-text-main);
      background-color: #f1f5f9;
      line-height: 1.6;
      margin: 0;
      padding: 0;
    }
    .site-topbar {
      background-color: #0b192c;
      color: #94a3b8;
      font-size: 12px;
      padding: 6px 0;
      border-bottom: 1px solid #1e293b;
    }
    .site-header {
      background: #ffffff;
      border-bottom: 1px solid var(--ql-border);
      padding: 16px 0;
    }
    .brand-logo-wrap {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
    }
    .brand-logo-icon {
      width: 38px;
      height: 38px;
      background: linear-gradient(135deg, #1e3a8a, #3b82f6);
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 20px;
    }
    .brand-logo-title {
      font-size: 22px;
      font-weight: 800;
      color: #0f172a;
      letter-spacing: -0.5px;
      line-height: 1.1;
      margin: 0;
    }
    .brand-logo-sub {
      font-size: 11px;
      color: #64748b;
      letter-spacing: 1px;
      text-transform: uppercase;
      margin-top: 2px;
      font-weight: 500;
    }
    .nav-slogan {
      font-size: 13px;
      color: #64748b;
      padding-left: 14px;
      border-left: 1px solid #cbd5e1;
    }
    .header-search-box {
      background: #f8fafc;
      border: 1px solid #cbd5e1;
      border-radius: 4px;
      padding: 6px 14px;
      display: flex;
      align-items: center;
      width: 280px;
    }
    .header-search-box input {
      border: none;
      background: transparent;
      font-size: 13px;
      outline: none;
      width: 100%;
      color: #1e293b;
    }
    .subnav-bar {
      background: #ffffff;
      border-bottom: 1px solid var(--ql-border);
      padding: 0;
    }
    .subnav-links {
      display: flex;
      align-items: center;
      list-style: none;
      margin: 0;
      padding: 0;
      gap: 28px;
      overflow-x: auto;
      white-space: nowrap;
    }
    .subnav-links a {
      display: inline-block;
      padding: 14px 0;
      color: #334155;
      font-size: 14px;
      font-weight: 500;
      text-decoration: none;
      position: relative;
    }
    .subnav-links a.active,
    .subnav-links a:hover {
      color: var(--ql-accent);
      font-weight: 600;
    }
    .subnav-links a.active::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background-color: var(--ql-accent);
    }
    .site-container-card {
      background: #ffffff;
      border-radius: 4px;
      border: 1px solid var(--ql-border);
      box-shadow: 0 1px 3px rgba(0,0,0,0.02);
      margin-top: 24px;
      margin-bottom: 40px;
      padding: 32px 36px;
    }
    .article-breadcrumb {
      font-size: 13px;
      color: #64748b;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .article-breadcrumb a {
      color: #475569;
      text-decoration: none;
    }
    .article-breadcrumb a:hover {
      color: var(--ql-accent);
    }
    .article-header {
      border-bottom: 1px solid var(--ql-border);
      padding-bottom: 20px;
      margin-bottom: 24px;
    }
    .article-category-tag {
      display: inline-block;
      background: #eff6ff;
      color: #1d4ed8;
      font-size: 12px;
      font-weight: 600;
      padding: 4px 10px;
      border-radius: 4px;
      margin-bottom: 14px;
      border: 1px solid #bfdbfe;
    }
    .article-headline {
      font-size: 28px;
      font-weight: 800;
      color: #0f172a;
      line-height: 1.35;
      margin-bottom: 16px;
      letter-spacing: -0.5px;
    }
    .article-meta-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 20px;
      font-size: 13px;
      color: #64748b;
    }
    .article-meta-bar span {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .article-lead-banner {
      position: relative;
      border-radius: 4px;
      overflow: hidden;
      margin-bottom: 28px;
      border: 1px solid var(--ql-border);
    }
    .article-lead-banner img {
      width: 100%;
      height: 300px;
      object-fit: cover;
      display: block;
    }
    .article-lead-banner-caption {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.88) 100%);
      color: #f8fafc;
      padding: 16px 20px;
      font-size: 13px;
    }
    .article-body-text {
      font-size: 16px;
      color: #334155;
      line-height: 1.85;
      word-break: break-word;
    }
    .article-body-text p {
      margin-bottom: 1.4rem;
    }
    .article-body-text h2 {
      font-size: 22px;
      font-weight: 700;
      color: #0f172a;
      margin-top: 2rem;
      margin-bottom: 1rem;
      border-left: 4px solid var(--ql-primary);
      padding-left: 12px;
    }
    .article-body-text h3 {
      font-size: 18px;
      font-weight: 600;
      color: #1e293b;
      margin-top: 1.6rem;
      margin-bottom: 0.8rem;
    }
    .article-body-text blockquote {
      margin: 1.5rem 0;
      padding: 14px 20px;
      background: #f8fafc;
      border-left: 4px solid #cbd5e1;
      color: #475569;
      font-size: 15px;
    }
    .article-statement-card {
      background: #f8fafc;
      border: 1px dashed #cbd5e1;
      border-radius: 4px;
      padding: 16px 20px;
      margin-top: 32px;
      font-size: 13px;
      color: #64748b;
    }
    .article-sidebar-block {
      border: 1px solid var(--ql-border);
      border-radius: 4px;
      background: #ffffff;
      padding: 20px;
      margin-bottom: 24px;
    }
    .sidebar-block-title {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      border-left: 3px solid var(--ql-primary);
      padding-left: 10px;
      margin-bottom: 16px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .sidebar-topic-card {
      position: relative;
      height: 140px;
      border-radius: 4px;
      overflow: hidden;
      margin-bottom: 16px;
      display: block;
      text-decoration: none;
    }
    .sidebar-topic-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .sidebar-topic-card-title {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: rgba(15, 23, 42, 0.82);
      color: #ffffff;
      font-size: 13px;
      padding: 8px 12px;
      line-height: 1.4;
    }
    .sidebar-post-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .sidebar-post-item {
      padding: 10px 0;
      border-bottom: 1px solid #f1f5f9;
    }
    .sidebar-post-item:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }
    .sidebar-post-link {
      color: #334155;
      text-decoration: none;
      font-size: 13px;
      line-height: 1.5;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      transition: color 0.15s ease;
    }
    .sidebar-post-link:hover {
      color: var(--ql-accent);
    }
    .sidebar-post-date {
      font-size: 11px;
      color: #94a3b8;
      margin-top: 4px;
    }
    .site-footer {
      background-color: #0b192c;
      color: #cbd5e1;
      padding: 48px 0 24px;
      border-top: 1px solid #1e293b;
      margin-top: 40px;
    }
    .footer-brand-title {
      color: #ffffff;
      font-size: 20px;
      font-weight: 700;
    }
    .footer-column-heading {
      color: #ffffff;
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 16px;
      letter-spacing: 0.5px;
    }
    .footer-link-group {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .footer-link-group li {
      margin-bottom: 10px;
    }
    .footer-link-group a {
      color: #94a3b8;
      font-size: 13px;
      text-decoration: none;
      transition: color 0.15s ease;
    }
    .footer-link-group a:hover {
      color: #ffffff;
    }
    .footer-bottom-bar {
      border-top: 1px solid #1e293b;
      margin-top: 36px;
      padding-top: 20px;
      font-size: 12px;
      color: #64748b;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 12px;
    }
    @media (max-width: 1024px) {
      .header-search-box {
        width: 220px;
      }
      .site-container-card {
        padding: 24px 20px;
      }
    }
    @media (max-width: 768px) {
      .article-headline {
        font-size: 22px;
      }
      .article-lead-banner img {
        height: 200px;
      }
      .subnav-links {
        gap: 18px;
      }
      .site-container-card {
        margin-top: 16px;
        margin-bottom: 24px;
      }
      .header-search-box {
        display: none;
      }
    }
    @media (max-width: 520px) {
      .article-headline {
        font-size: 20px;
      }
      .article-meta-bar {
        font-size: 12px;
        gap: 10px;
      }
    }
