/* 由 scripts/build_css.py 拼接生成，勿手改；改源文件后重跑脚本 */

/* ==== css/design-system.min.css ==== */
:root{--primary-50:#e3f2fd;--primary-100:#bbdefb;--primary-200:#90caf9;--primary-300:#64b5f6;--primary-400:#42a5f5;--primary-500:#2196f3;--primary-600:#1e88e5;--primary-700:#1976d2;--primary-800:#1565c0;--primary-900:#0d47a1;--secondary-50:#f3e5f5;--secondary-500:#9c27b0;--secondary-700:#7b1fa2;--success:#4caf50;--success-light:#81c784;--warning:#ff9800;--warning-light:#ffb74d;--error:#f44336;--error-light:#e57373;--info:#2196f3;--info-light:#64b5f6;--neutral-0:#ffffff;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#eeeeee;--neutral-300:#e0e0e0;--neutral-400:#bdbdbd;--neutral-500:#9e9e9e;--neutral-600:#757575;--neutral-700:#616161;--neutral-800:#424242;--neutral-900:#212121;--text-primary:rgba(0,0,0,0.87);--text-secondary:rgba(0,0,0,0.60);--text-disabled:rgba(0,0,0,0.38);--text-hint:rgba(0,0,0,0.38);--text-on-primary:#ffffff;--bg-primary:#ffffff;--bg-secondary:#f8f9fa;--bg-tertiary:#f5f5f5;--bg-overlay:rgba(0,0,0,0.5);--border-light:rgba(0,0,0,0.08);--border-medium:rgba(0,0,0,0.12);--border-strong:rgba(0,0,0,0.24)}:root{--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Noto Sans SC","Microsoft YaHei",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0em;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em}:root{--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem}:root{--shadow-none:none;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);--shadow-base:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-md:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-lg:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--shadow-xl:0 25px 50px -12px rgba(0,0,0,0.25);--shadow-2xl:0 35px 60px -15px rgba(0,0,0,0.3);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.05);--shadow-focus:0 0 0 3px rgba(33,150,243,0.3)}@media (prefers-color-scheme:dark){:root{--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.4),0 1px 2px -1px rgba(0,0,0,0.4);--shadow-base:0 4px 6px -1px rgba(0,0,0,0.4),0 2px 4px -2px rgba(0,0,0,0.4);--shadow-md:0 10px 15px -3px rgba(0,0,0,0.4),0 4px 6px -4px rgba(0,0,0,0.4);--shadow-lg:0 20px 25px -5px rgba(0,0,0,0.4),0 8px 10px -6px rgba(0,0,0,0.4);--shadow-xl:0 25px 50px -12px rgba(0,0,0,0.5);--shadow-2xl:0 35px 60px -15px rgba(0,0,0,0.6)}}:root{--radius-none:0;--radius-sm:0.125rem;--radius-base:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px}:root{--duration-fast:150ms;--duration-base:200ms;--duration-medium:300ms;--duration-slow:500ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-sharp:cubic-bezier(0.4,0,0.6,1);--ease-smooth:cubic-bezier(0.25,0.1,0.25,1)}:root{--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-notification:1080}:root{--container-xs:640px;--container-sm:768px;--container-md:1024px;--container-lg:1280px;--container-xl:1536px;--content-max-width:65ch}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-truncate-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.focus-visible:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.smooth-scroll{scroll-behavior:smooth}.glass-effect{background:rgba(255,255,255,0.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media (prefers-color-scheme:dark){.glass-effect{background:rgba(30,30,30,0.8)}}.gradient-primary{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-400) 100%)}.gradient-overlay{position:relative}.gradient-overlay::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.6) 100%);pointer-events:none}@media (max-width:639px){.hide-mobile{display:none !important}}@media (min-width:640px) and (max-width:767px){.hide-tablet{display:none !important}}@media (min-width:768px){.hide-desktop{display:none !important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media print{:root{--text-primary:#000000;--bg-primary:#ffffff}.no-print{display:none !important}a[href^="http"]::after{content:" (" attr(href) ")";font-size:0.8em;font-weight:normal}}

/* ==== css/modern-ui.min.css ==== */
/**
 * 现代化UI增强样式 - cn.govopendata.com
 * 基于design-system.css的增强版本
 * 包含动画、交互和视觉效果优化
 */

/* ========================================
   动画 - Animations
   ======================================== */
/* 首屏元素（卡片、侧栏、文章标题与正文）不做从透明淡入的入场动画：
   opacity 从 0 起步会把内容的可见时间和 LCP 推迟到动画结束（实测日页标题晚约 1.5s）。
   悬停过渡、骨架屏 shimmer 等不影响首屏的动画保留。 */

@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

/* ========================================
   增强的新闻卡片设计 - Enhanced News Cards
   ======================================== */
.news-card {
    background: linear-gradient(to bottom, #ffffff, #fafbfc);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 28px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: relative;
    overflow: hidden;
}

.news-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    transform: scaleY(0);
    transition: transform 0.3s ease;
    transform-origin: bottom;
}

.news-card:hover::before {
    transform: scaleY(1);
    transform-origin: top;
}

.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 102, 204, 0.12);
    border-color: rgba(0, 102, 204, 0.2);
}

/* ========================================
   标题和文本优化 - Typography Enhancement
   ======================================== */
.news-title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1a1a1a;
    margin-bottom: 12px;
    position: relative;
    display: inline-block;
}

.news-link {
    background: linear-gradient(to right, #0066cc, #0066cc) no-repeat;
    background-size: 0% 2px;
    background-position: left bottom;
    transition: all 0.3s ease;
    padding-bottom: 2px;
}

.news-link:hover {
    background-size: 100% 2px;
    color: #0066cc;
}

.news-summary {
    color: #4a5568;
    line-height: 1.7;
    font-size: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative;
}

/* ========================================
   按钮和交互元素 - Interactive Elements
   ======================================== */
.btn-news-detail {
    background: linear-gradient(135deg, #0066cc 0%, #4A90E2 100%);
    color: white;
    padding: 10px 24px;
    border-radius: 25px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.2);
}

.btn-news-detail::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.btn-news-detail:hover::after {
    width: 300px;
    height: 300px;
}

.btn-news-detail:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 102, 204, 0.3);
    color: white;
    text-decoration: none;
}

.btn-news-detail:active {
    transform: translateY(0);
}

/* ========================================
   导航栏增强 - Enhanced Navigation
   ======================================== */
.navbar {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 249, 250, 0.98) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}

.navbar.scrolled {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(25px);
}

.nav-link {
    position: relative;
    font-weight: 500;
    padding: 10px 20px !important;
    margin: 0 4px;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.nav-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    opacity: 0;
    border-radius: 8px;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.nav-link:hover::before {
    opacity: 0.1;
}

.nav-link:hover {
    color: #0066cc !important;
    transform: translateY(-1px);
}

/* ========================================
   语言切换器美化 - Language Switcher
   ======================================== */
.lang-btn {
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    text-decoration: none;
    border: 2px solid #e2e8f0;
    background: white;
    position: relative;
    overflow: hidden;
}

.lang-btn-outline {
    color: #64748b;
}

.lang-btn-outline::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    transition: left 0.3s ease;
    z-index: -1;
}

.lang-btn-outline:hover::before {
    left: 0;
}

.lang-btn-outline:hover {
    color: white;
    border-color: #0066cc;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.2);
}

.lang-btn-active {
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    color: white;
    border-color: transparent;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.2);
}

/* ========================================
   侧边栏美化 - Enhanced Sidebar
   ======================================== */
.sidebar-card {
    background: white;
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    position: sticky;
    top: 90px;
    transition: all 0.3s ease;
}

.sidebar-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.sidebar-card-header {
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
    color: #1e293b;
    padding: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
}

.sidebar-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    color: #334155;
}

.btn-submit-date {
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    color: white;
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 20px;
    width: 100%;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.2);
}

.btn-submit-date:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 102, 204, 0.3);
}

/* ========================================
   分页美化 - Enhanced Pagination
   ======================================== */
.pagination-modern {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 40px 0;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.page-link-modern {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    color: #475569;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    background: white;
    min-width: 48px;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.page-link-modern:hover {
    border-color: #0066cc;
    background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
    color: #0066cc;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.15);
}

.page-item-modern.active .page-link-modern {
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    border-color: transparent;
    color: white;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

/* ========================================
   文章详情页优化 - Article Detail Enhancement
   ======================================== */
.article-header {
    text-align: center;
    padding: 40px 0;
    position: relative;
}

.article-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #1a202c;
    margin-bottom: 20px;
    line-height: 1.3;
    background: linear-gradient(135deg, #1a202c, #2d3748);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.article-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    color: #64748b;
    font-size: 1rem;
    margin-top: 20px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.meta-item i {
    color: #0066cc;
}

.article-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
}

.article-content h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #000000;
    margin: 40px 0 20px;
    padding-left: 16px;
    border-left: 4px solid #0066cc;
    position: relative;
}

.article-content p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #000000;
    margin-bottom: 20px;
    text-align: justify;
    font-weight: 400;
}

/* ========================================
   日期导航美化 - Date Navigation
   ======================================== */
.date-navigation {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 40px 0;
    padding: 0 20px;
}

.nav-btn {
    flex: 1;
    max-width: 200px;
    background: white;
    border: 2px solid #e2e8f0;
    border-radius: 16px;
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    color: #475569;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.nav-btn:hover {
    border-color: #0066cc;
    background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 102, 204, 0.15);
    text-decoration: none;
    color: #0066cc;
}

.nav-label {
    font-size: 0.875rem;
    color: #94a3b8;
    font-weight: 500;
}

.nav-date {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
}

/* ========================================
   骨架屏加载效果 - Skeleton Loading
   ======================================== */
.skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 1000px 100%;
    animation: shimmer 2s infinite;
    border-radius: 8px;
}

.skeleton-text {
    height: 16px;
    margin-bottom: 12px;
    border-radius: 4px;
}

.skeleton-title {
    height: 28px;
    width: 70%;
    margin-bottom: 16px;
    border-radius: 4px;
}

/* ========================================
   搜索框美化 - Search Box Enhancement
   ======================================== */
.search-input {
    padding: 10px 20px;
    padding-right: 40px;
    border-radius: 25px;
    border: 2px solid #e2e8f0;
    background-color: #f8fafc;
    transition: all 0.3s ease;
    font-size: 14px;
    width: 250px;
}

.search-input:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1);
    border-color: #0066cc;
    background-color: white;
    width: 300px;
}

.search-form button {
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    color: white;
    border: none;
    border-radius: 20px;
    padding: 8px 20px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.search-form button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.2);
}

/* ========================================
   响应式优化 - Responsive Enhancements
   ======================================== */
@media (max-width: 768px) {
    .news-card {
        padding: 20px;
        border-radius: 12px;
        margin-bottom: 16px;
    }

    .news-card:hover {
        transform: none;
        box-shadow: 0 4px 12px rgba(0, 102, 204, 0.1);
    }

    .news-title {
        font-size: 1.25rem;
        line-height: 1.4;
    }

    .news-summary {
        font-size: 0.95rem;
        -webkit-line-clamp: 4;
    }

    .btn-news-detail {
        padding: 8px 16px;
        font-size: 14px;
        width: 100%;
        justify-content: center;
    }

    .article-title {
        font-size: 1.75rem;
        text-align: center;
    }

    .article-meta {
        justify-content: center;
        gap: 20px;
    }

    .article-content {
        padding: 20px 16px;
    }

    .content-heading {
        font-size: 1.5rem;
        padding-left: 12px;
    }

    .content-body {
        font-size: 1rem;
        line-height: 1.75;
    }

    .date-navigation {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .nav-btn {
        max-width: 100%;
        width: 100%;
        flex-direction: row;
        justify-content: center;
        padding: 14px 20px;
    }

    .search-input {
        width: 100%;
    }

    .search-input:focus {
        width: 100%;
    }

    .sidebar-card,
    .sidebar-card-detail {
        position: relative;
        top: 0;
        margin-bottom: 30px;
        border-radius: 12px;
    }

    .pagination-modern {
        gap: 8px;
    }

    .page-link-modern {
        padding: 8px 12px;
        font-size: 14px;
        min-width: 40px;
    }

    .page-info {
        padding: 8px 16px;
    }

    .lang-btn {
        padding: 6px 12px;
        font-size: 13px;
    }

    .back-to-top {
        width: 48px;
        height: 48px;
        bottom: 20px;
        right: 20px;
    }

    .back-to-top i {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .news-card {
        padding: 16px;
    }

    .news-title {
        font-size: 1.125rem;
    }

    .article-title {
        font-size: 1.5rem;
    }

    .content-heading {
        font-size: 1.25rem;
    }

    .navbar-brand {
        font-size: 1rem;
    }

    .nav-link {
        padding: 8px 12px !important;
        font-size: 14px;
    }
}

/* ========================================
   平板设备优化 - Tablet Optimization
   ======================================== */
@media (min-width: 769px) and (max-width: 1024px) {
    .news-card {
        padding: 24px;
    }

    .container,
    .detail-container {
        max-width: 100%;
        padding: 20px;
    }

    .sidebar-card {
        position: sticky;
        top: 80px;
    }
}

/* ========================================
   性能优化 - Performance Optimization
   ======================================== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* 确保动画不会影响首屏加载 */
.no-js * {
    animation: none !important;
    transition: none !important;
}

/* ========================================
   面包屑导航美化 - Breadcrumb Enhancement
   ======================================== */
.breadcrumb-modern {
    background: transparent;
    padding: 0;
    margin-bottom: 1.5rem;
    border-radius: 0;
}

.breadcrumb-modern ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.breadcrumb-modern li {
    display: flex;
    align-items: center;
    color: #64748b;
    font-size: 0.95rem;
}

/* Add separator */
.breadcrumb-modern li + li::before {
    /* Font Awesome 5 chevron-right，站内已不加载图标字体，改用 mask 绘制 */
    content: "";
    display: inline-block;
    width: calc(0.75rem * 0.625);
    height: 0.75rem;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center / contain no-repeat;
    color: #cbd5e1;
    margin: 0 12px;
}

.breadcrumb-modern a {
    color: #64748b;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
}

.breadcrumb-modern a:hover {
    color: #0066cc;
}

/* Style for the current page (last item) */
.breadcrumb-modern li[aria-current="page"] {
    color: #1e293b;
    font-weight: 600;
}

/* ========================================
   导航芯片样式 - Nav Chip Styles
   ======================================== */
.nav-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    margin-left: 10px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.nav-chip:first-child {
    margin-left: 0;
}

.nav-chip:hover {
    color: #0066cc;
    border-color: #0066cc;
    background-color: #f0f9ff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.15);
    text-decoration: none;
}

.nav-chip i {
    font-size: 0.75rem;
    pointer-events: none;
}

.nav-chip-group {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.nav-chip-group .nav-chip {
    margin-bottom: 8px;
}

/* ==== css/layout.css ==== */
:root {
    --content-width: min(100% - 2rem, var(--container-max-width, 1400px));
    --header-height: 68px;
    --tracking-tight: -0.025em;
    --primary-50: #e3f2fd;
}

@media (max-width: 768px) {
    :root {
        --header-height: 60px;
        --content-width: min(100% - 1rem, var(--container-max-width, 1400px));
    }
}

@media (min-width: 769px) and (max-width: 1023px) {
    :root {
        --header-height: 64px;
    }
}

/* Keep fragment targets visible below the sticky navigation on every page. */
html {
    scroll-padding-top: calc(var(--header-height) + 16px);
}

body {
    overflow-x: hidden;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: var(--font-family-base);
    line-height: var(--leading-normal);
    color: var(--text-primary);
    background-color: var(--bg-primary);
    transition: background-color var(--duration-base) var(--ease-out);
    margin: 0;
    padding: 0;
}

.container-fluid {
    width: var(--content-width);
    margin: 0 auto;
    padding: 0 var(--space-4);
}

.container {
    max-width: var(--container-max-width, 1400px);
}

.main-content {
    flex: 1;
    padding: 24px 0;
    min-height: 400px;
}

.navbar {
    height: var(--header-height);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: var(--shadow-sm);
    transition: all var(--duration-base) var(--ease-out);
    border-bottom: 1px solid var(--border-light);
}

.navbar.scrolled {
    box-shadow: var(--shadow-md);
}

.navbar-brand {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--primary-700) !important;
    transition: color var(--duration-base) var(--ease-out);
    letter-spacing: var(--tracking-tight);
}

.navbar-brand:hover {
    color: var(--primary-600) !important;
}

.nav-link {
    position: relative;
    padding: var(--space-3) var(--space-4);
    color: var(--text-secondary) !important;
    font-weight: var(--font-weight-medium);
    transition: color var(--duration-base) var(--ease-out);
    border-radius: var(--radius-lg);
}

.nav-link:hover {
    color: var(--primary-700) !important;
    background-color: var(--primary-50);
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: #0066cc;
    border-radius: 2px;
    transition: width 0.3s ease;
    transform: translateX(-50%);
}

.nav-link:hover::after {
    width: 80%;
}

.search-form {
    position: relative;
}

.search-input {
    padding: var(--space-2) var(--space-4);
    padding-right: 2.5rem;
    border-radius: var(--radius-full);
    border: 2px solid var(--border-medium);
    background-color: var(--bg-secondary);
    transition: all var(--duration-base) var(--ease-out);
    font-size: var(--text-sm);
}

.search-input:focus {
    outline: none;
    box-shadow: var(--shadow-focus);
    border-color: var(--primary-600);
    background-color: var(--bg-primary);
}

.search-input::placeholder {
    color: var(--text-hint);
}

.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 20; /* Keep site controls below Google-managed overlays. */
    opacity: 0;
    visibility: hidden;
    background: linear-gradient(135deg, #0066cc 0%, #4A90E2 100%);
    color: white;
    border: none;
    border-radius: 50%;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 20px rgba(0, 102, 204, 0.3);
    cursor: pointer;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { box-shadow: 0 4px 20px rgba(0, 102, 204, 0.3); }
    50% { box-shadow: 0 4px 30px rgba(0, 102, 204, 0.5); }
    100% { box-shadow: 0 4px 20px rgba(0, 102, 204, 0.3); }
}

.back-to-top:hover {
    transform: translateY(-5px) scale(1.1);
    box-shadow: 0 8px 30px rgba(0, 102, 204, 0.4);
}

.back-to-top:active {
    transform: translateY(-2px) scale(1.05);
}

.back-to-top i {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.back-to-top:hover i {
    transform: translateY(-2px);
}

.language-switcher {
    font-size: var(--text-sm);
    display: flex;
    gap: var(--space-2);
}

.language-switcher .btn {
    font-weight: var(--font-weight-medium);
    border-radius: var(--radius-full);
    padding: var(--space-2) var(--space-5);
    transition: all var(--duration-base) var(--ease-out);
    text-decoration: none;
    border: 2px solid transparent;
}

.language-switcher .btn-outline-primary {
    border-color: var(--primary-200);
    color: var(--primary-700);
}

.language-switcher .btn-outline-primary:hover {
    background-color: #f0f7ff;
    border-color: #0066cc;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.language-switcher .btn-primary {
    background: #0066cc;
    border-color: #0066cc;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.language-switcher .btn-primary:hover {
    background: #0052a3;
    border-color: #0052a3;
}

.ad-section .adsbygoogle,
.sidebar-card-detail .adsbygoogle,
.adsense-container .adsbygoogle {
    display: block;
    min-height: 250px;
    width: 100%;
}

.ad-section {
    min-height: 280px;
    margin: 40px 0;
}

.adsense-container {
    padding: 10px 0;
    text-align: center;
    min-height: 110px;
}

.adsense-container ins {
    display: block;
    margin: 0 auto;
}

.article-header {
    padding: 40px 0;
    margin-bottom: 40px;
    border-bottom: 2px solid rgba(0, 102, 204, 0.1);
}

.article-title {
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
    line-height: 1.3;
}

.article-meta {
    display: flex;
    justify-content: center;
    gap: 30px;
    color: #64748b;
    font-size: 1rem;
}

.article-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
}

.content-heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: #000;
    margin: 40px 0 20px;
    padding-left: 16px;
    border-left: 4px solid #0066cc;
}

.content-body {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #1a1a1a;
    margin-bottom: 20px;
}

/* Match Bootstrap's navbar-expand-lg collapse breakpoint. */
@media (max-width: 991.98px) {
    .navbar .navbar-collapse {
        background-color: var(--bg-primary);
        padding: var(--space-4);
        border-radius: var(--radius-xl);
        box-shadow: var(--shadow-md);
        margin-top: var(--space-3);
        max-height: calc(100vh - var(--header-height) - 24px);
        max-height: calc(100dvh - var(--header-height) - 24px);
        overflow-y: auto;
    }

    .search-form {
        margin-top: var(--space-4);
    }

    .navbar .search-input {
        font-size: 16px;
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .language-switcher {
        justify-content: center !important;
        margin-bottom: var(--space-4);
    }

    .back-to-top {
        width: 48px;
        height: 48px;
        bottom: var(--space-4);
        right: var(--space-4);
    }

    .main-content {
        padding: var(--space-4) 0;
    }
}

.footer {
    background-color: var(--bg-secondary);
    border-top: 1px solid var(--border-light);
}

/* These cards contain responsive ads; never crop an expanded creative. */
body .sidebar-card-detail.ad-card {
    overflow: visible;
    transform: none;
}

.reading-toc {
    margin: 16px 0;
    padding: 12px 16px;
    border: 1px solid var(--border-light);
    border-radius: 8px;
}
.reading-toc summary { cursor: pointer; }
.reading-toc a { display: block; padding: 8px 0; overflow-wrap: anywhere; }
.reading-toc ol { margin: 8px 0 0; padding-left: 24px; }
.content-body { overflow-wrap: anywhere; }

/* ==== css/components.css ==== */
.hero-section {
    padding: var(--space-16) 0 var(--space-12);
    background: linear-gradient(135deg, var(--primary-50) 0%, var(--bg-primary) 50%);
    border-radius: var(--radius-2xl);
    margin-bottom: var(--space-12) !important;
}

.hero-title {
    font-size: var(--text-5xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    margin-bottom: var(--space-6);
}

.hero-subtitle {
    font-size: var(--text-xl);
    color: var(--text-secondary);
    font-weight: var(--font-weight-normal);
    line-height: var(--leading-relaxed);
    max-width: 600px;
    margin: 0 auto var(--space-10);
}

.search-form-home {
    max-width: 700px;
    padding: 0 var(--space-4);
}

.search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--bg-primary);
    border-radius: var(--radius-full);
    box-shadow: var(--shadow-lg);
    padding: var(--space-2);
    transition: all var(--duration-base) var(--ease-out);
}

.search-wrapper:focus-within {
    box-shadow: var(--shadow-xl);
    transform: translateY(-2px);
}

.search-icon {
    position: absolute;
    left: var(--space-6);
    color: var(--text-hint);
    font-size: var(--text-lg);
}

.search-input-home {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    padding: var(--space-4) var(--space-4) var(--space-4) var(--space-12);
    font-size: var(--text-base);
    color: var(--text-primary);
}

.search-input-home::placeholder {
    color: var(--text-hint);
}

.btn-search-home {
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--primary-600), var(--primary-500));
    color: var(--text-on-primary);
    border: none;
    border-radius: var(--radius-full);
    padding: var(--space-3) var(--space-8);
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-base);
    cursor: pointer;
    transition: all var(--duration-base) var(--ease-out);
    white-space: nowrap;
    box-shadow: var(--shadow-sm);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.btn-search-home:hover {
    transform: translateX(2px);
    box-shadow: var(--shadow-md);
}

.btn-search-home:active {
    transform: translateX(0);
}

.modern-card {
    border: 1px solid var(--border-light);
    border-radius: var(--radius-2xl);
    background: var(--bg-primary);
    transition: all var(--duration-medium) var(--ease-out);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    height: 100%;
}

.modern-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
    border-color: var(--primary-200);
}

.modern-card .card-body {
    padding: var(--space-8);
}

.card-icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-2xl);
    background: linear-gradient(135deg, var(--primary-500), var(--primary-400));
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-6);
    box-shadow: var(--shadow-md);
    transition: all var(--duration-base) var(--ease-out);
}

.modern-card:hover .card-icon {
    transform: scale(1.1) rotate(5deg);
}

.card-icon i {
    font-size: var(--text-3xl);
    color: var(--text-on-primary);
}

.card-link {
    color: var(--text-primary);
    text-decoration: none;
    font-weight: var(--font-weight-semibold);
    transition: color var(--duration-base) var(--ease-out);
}

.card-link:hover {
    color: var(--primary-600);
    text-decoration: none;
}

.modern-card .card-title {
    margin-bottom: var(--space-4);
    font-size: var(--text-2xl);
}

.modern-card .card-text {
    color: var(--text-secondary);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-6);
    min-height: 4.5em;
}

.btn-card-action {
    display: inline-flex;
    align-items: center;
    color: var(--primary-700);
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
    transition: all var(--duration-base) var(--ease-out);
    padding: var(--space-2) 0;
    gap: var(--space-2);
}

.btn-card-action:hover {
    color: var(--primary-600);
    text-decoration: none;
    transform: translateX(4px);
}

.features {
    padding-top: var(--space-12);
    border-top: 2px solid var(--border-light);
}

.feature-item {
    padding: var(--space-8);
    border-radius: var(--radius-2xl);
    transition: all var(--duration-medium) var(--ease-out);
}

.feature-item:hover {
    background-color: var(--primary-50);
    transform: translateY(-4px);
}

.feature-icon-wrapper {
    width: 80px;
    height: 80px;
    margin: 0 auto var(--space-6);
    border-radius: var(--radius-2xl);
    background: linear-gradient(135deg, var(--primary-50), var(--bg-secondary));
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--duration-base) var(--ease-out);
}

.feature-item:hover .feature-icon-wrapper {
    background: linear-gradient(135deg, var(--primary-600), var(--primary-500));
    transform: scale(1.1);
}

.feature-icon-wrapper i {
    color: var(--primary-600);
    transition: color var(--duration-base) var(--ease-out);
}

.feature-item:hover .feature-icon-wrapper i {
    color: var(--text-on-primary);
}

.feature-title {
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--space-3);
    color: var(--text-primary);
}

.feature-desc {
    color: var(--text-secondary);
    margin-bottom: 0;
    line-height: var(--leading-relaxed);
}

.news-list-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.archive-card .news-summary {
    min-height: auto;
    margin-bottom: 0;
}

.news-card {
    background: linear-gradient(to bottom, #ffffff, #fafbfc);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    padding: 28px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: relative;
    overflow: hidden;
}

.news-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    transform: scaleY(0);
    transition: transform 0.3s ease;
    transform-origin: bottom;
}

.news-card:hover::before {
    transform: scaleY(1);
    transform-origin: top;
}

.news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 102, 204, 0.12);
    border-color: rgba(0, 102, 204, 0.2);
}

.news-title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1a1a1a;
    margin-bottom: 12px;
}

.news-link {
    background: linear-gradient(to right, #0066cc, #0066cc) no-repeat;
    background-size: 0% 2px;
    background-position: left bottom;
    transition: all 0.3s ease;
    padding-bottom: 2px;
}

.news-link:hover {
    background-size: 100% 2px;
    color: #0066cc;
    text-decoration: none;
}

.news-summary {
    color: #4a5568;
    line-height: 1.7;
    font-size: 1rem;
}

.btn-news-detail {
    background: linear-gradient(135deg, #0066cc 0%, #4A90E2 100%);
    color: white;
    padding: 10px 24px;
    border-radius: 25px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.2);
}

.btn-news-detail:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 102, 204, 0.3);
    color: white;
    text-decoration: none;
}

.sidebar-card {
    background: white;
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    position: sticky;
    top: 90px;
    transition: all 0.3s ease;
}

.sidebar-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.sidebar-card-header {
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
    color: #1e293b;
    padding: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.sidebar-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    color: #334155;
}

.sidebar-card-body {
    padding: 20px;
}

.date-search-form input[type="date"],
.date-search-form input[type="text"],
.date-search-form select {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    color: #334155;
    background-color: white;
    transition: all 0.3s ease;
}

.date-search-form input[type="date"]:focus,
.date-search-form input[type="text"]:focus,
.date-search-form select:focus {
    outline: none;
    border-color: #0066cc;
    box-shadow: 0 0 0 4px rgba(0,102,204,0.1);
    background-color: #f0f9ff;
}

.date-search-form .form-label {
    font-weight: 600;
    color: #334155;
    font-size: 14px;
    margin-bottom: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-submit-date {
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    color: white;
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 20px;
    width: 100%;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.2);
}

.btn-submit-date:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 102, 204, 0.3);
}

.pagination-modern {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 40px 0;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.page-link-modern {
    display: flex;
    align-items: center;
    padding: 10px 20px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    color: #475569;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    background: white;
    min-width: 48px;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.page-link-modern:hover {
    border-color: #0066cc;
    background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
    color: #0066cc;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.15);
}

.page-item-modern.active .page-link-modern {
    background: linear-gradient(135deg, #0066cc, #4A90E2);
    border-color: transparent;
    color: white;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

@media (max-width: 768px) {
    .hero-title {
        font-size: var(--text-3xl);
    }

    .hero-subtitle {
        font-size: var(--text-lg);
    }

    .hero-section {
        padding: var(--space-12) var(--space-4) var(--space-8);
    }

    .btn-search-home span {
        display: none;
    }

    .btn-search-home {
        padding: var(--space-3);
    }

    .modern-card .card-body {
        padding: var(--space-6);
    }

    .card-icon {
        width: 56px;
        height: 56px;
    }

    .card-icon i {
        font-size: var(--text-2xl);
    }

    .feature-icon-wrapper {
        width: 64px;
        height: 64px;
    }

    .news-card {
        padding: 20px;
        border-radius: 12px;
    }

    .btn-news-detail {
        width: 100%;
        justify-content: center;
    }

    .sidebar-card,
    .sidebar-card-detail {
        position: relative;
        top: 0;
        margin-bottom: 30px;
        border-radius: 12px;
    }

    .pagination-modern {
        gap: 8px;
    }

    .page-link-modern {
        padding: 8px 12px;
        font-size: 14px;
        min-width: 40px;
    }
}

/* ========================================
   广告位：未填充时收起
   AdSense 无广告可投时给 <ins> 标 data-ad-status="unfilled"，
   不收起就会在页面中留下一块 250–375px 的空白。首屏内的顶部广告位（.ad-top）
   保留占位，避免收起时把正文往上拽造成布局位移（CLS）。
   ======================================== */
ins.adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
}

.ad-section:not(.ad-top):has(ins.adsbygoogle[data-ad-status="unfilled"]),
.ad-card:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
    display: none !important;
}

/* ========================================
   日期导航按钮：原 .nav-btn 限宽 200px，"上一天/日期" 被挤成三行
   ======================================== */
.date-navigation .nav-btn {
    max-width: none;
}

.date-navigation.bottom-nav .nav-btn {
    max-width: 320px;
}

.nav-btn-label,
.nav-btn-date {
    white-space: nowrap;
}

/* ========================================
   归档索引页（年 / 月 / 日）
   ======================================== */
.archive-page {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 16px 48px;
}

.archive-header {
    margin-bottom: 20px;
}

.archive-header h1 {
    font-size: 1.875rem;
    font-weight: 700;
    color: #111;
    margin: 4px 0 8px;
    line-height: 1.3;
}

.archive-header .archive-desc {
    color: #555;
    margin-bottom: 0;
}

.archive-pager {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 0;
}

.archive-pager a,
.archive-pager span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid #dbe3ec;
    border-radius: 999px;
    font-size: 0.95rem;
    color: #0b5cad;
    background: #fff;
    text-decoration: none;
}

.archive-pager a:hover {
    border-color: #0b5cad;
    background: #f0f7ff;
    text-decoration: none;
}

.archive-pager .archive-pager-up {
    color: #333;
}

.archive-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
}

@media (min-width: 992px) {
    .archive-layout {
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    /* 正文与侧栏钉在第一行；AdSense 自动广告插进来的其它子元素一律放到下面占满整行，
       否则广告会占掉右侧那一格，把侧栏挤到最后 */
    .archive-layout > * {
        grid-column: 1 / -1;
    }

    .archive-layout > :first-child {
        grid-column: 1;
        grid-row: 1;
    }

    .archive-layout > aside,
    .archive-layout > .archive-side-col {
        grid-column: 2;
        grid-row: 1;
    }
}

.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    padding: 0;
    margin: 0 0 24px;
    list-style: none;
}

.archive-grid a {
    display: block;
    padding: 12px 14px;
    border: 1px solid #e3e8ef;
    border-radius: 10px;
    background: #fff;
    color: #1a1a1a;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.archive-grid a small {
    display: block;
    margin-top: 2px;
    color: #6b7280;
    font-weight: 400;
    font-size: 0.8125rem;
}

.archive-grid a:hover {
    border-color: #0b5cad;
    background: #f5f9ff;
    color: #0b5cad;
    text-decoration: none;
}

.archive-entry {
    padding: 16px 0;
    border-bottom: 1px solid #edf0f4;
}

.archive-entry:first-child {
    padding-top: 0;
}

.archive-entry h2 {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.4;
}

.archive-entry h2 a {
    color: #111;
}

.archive-entry h2 a:hover {
    color: #0b5cad;
}

.archive-entry ul {
    margin: 0;
    padding-left: 1.1em;
}

.archive-entry li {
    margin: 4px 0;
    line-height: 1.55;
}

.archive-entry p {
    margin: 0 0 6px;
    color: #333;
    line-height: 1.6;
}

.archive-entry .archive-entry-more {
    font-size: 0.9rem;
}

.archive-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.archive-side-card {
    border: 1px solid #e3e8ef;
    border-radius: 12px;
    background: #fff;
    padding: 16px;
}

.archive-side-card h2 {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 12px;
}

.archive-side-card form input,
.archive-side-card form select {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #cfd8e3;
    border-radius: 8px;
    margin-bottom: 10px;
    font-size: 0.95rem;
}

.archive-side-card form button {
    width: 100%;
    padding: 9px 12px;
    border: 0;
    border-radius: 8px;
    background: #0b5cad;
    color: #fff;
    font-weight: 600;
}

.archive-side-card form button:hover {
    background: #094a8b;
}

.archive-side-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.archive-side-card li + li {
    margin-top: 8px;
}

/* ========================================
   裁判文书详情：要素表
   ======================================== */
.case-meta {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0;
    margin: 16px 0 24px;
    border: 1px solid #e3e8ef;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.case-meta dt,
.case-meta dd {
    margin: 0;
    padding: 10px 14px;
    border-bottom: 1px solid #edf0f4;
    line-height: 1.55;
}

.case-meta dt {
    white-space: nowrap;
    background: #f7f9fc;
    color: #555;
    font-weight: 600;
}

.case-meta dd {
    color: #1a1a1a;
    word-break: break-word;
}

.case-meta dt:nth-last-of-type(1),
.case-meta dd:nth-last-of-type(1) {
    border-bottom: 0;
}

.case-fulltext {
    font-size: 1.0625rem;
    line-height: 1.85;
    color: #1a1a1a;
}

.case-fulltext p {
    margin: 0 0 0.75em;
    text-indent: 2em;
}

.case-notice {
    padding: 10px 14px;
    border-radius: 8px;
    background: #fff8e6;
    color: #7a5a00;
    font-size: 0.9375rem;
}

/* ========================================
   首页：最新内容
   ======================================== */
.home-latest {
    border: 1px solid #e3e8ef;
    border-radius: 16px;
    background: #fff;
    padding: 20px 24px;
    margin-bottom: 32px;
}

.home-latest-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}

.home-latest-head h2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
}

.home-latest ol {
    margin: 0;
    padding-left: 1.25em;
}

.home-latest li {
    margin: 6px 0;
    line-height: 1.55;
}

.home-latest-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

/* ========================================
   页脚链接
   ======================================== */
.footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 18px;
    padding: 0;
    margin: 0 0 10px;
    list-style: none;
    font-size: 0.9rem;
}

.footer-links a {
    color: #475569;
}

/* 静态说明页（隐私政策等） */
.prose-page {
    max-width: 760px;
    margin: 0 auto;
    padding: 32px 16px 56px;
    line-height: 1.8;
    color: #1a1a1a;
}

.prose-page h1 {
    font-size: 1.875rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.prose-page h2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 28px 0 10px;
}

@media (max-width: 575.98px) {
    .archive-header h1 {
        font-size: 1.5rem;
    }

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

    .home-latest {
        padding: 16px;
    }

    .case-meta dt,
    .case-meta dd {
        padding: 8px 10px;
    }
}

/* ========================================
   两栏页（正文 + 右侧栏）防止被自动广告挤乱
   AdSense 自动广告有时把一个全宽广告块直接插进 Bootstrap .row，夹在正文列和侧栏之间，
   flex 换行后侧栏（日期跳转等）就掉到整篇文章最后。改成 grid 显式定位：
   正文列、侧栏固定在第一行，其它插入的子元素放到下面占满整行。
   ======================================== */
@media (min-width: 768px) {
    .row:has(> .col-md-8):has(> .col-md-4) {
        display: grid;
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }

    .row:has(> .col-md-8):has(> .col-md-4) > * {
        grid-column: 1 / -1;
        max-width: none;
    }

    .row:has(> .col-md-8):has(> .col-md-4) > .col-md-8 {
        grid-column: 1;
        grid-row: 1;
    }

    .row:has(> .col-md-8):has(> .col-md-4) > .col-md-4 {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (min-width: 992px) {
    .row:has(> .col-lg-9):has(> .col-lg-3) {
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    }

    .row:has(> .col-lg-9):has(> .col-lg-3) > * {
        grid-column: 1 / -1;
        max-width: none;
    }

    .row:has(> .col-lg-9):has(> .col-lg-3) > .col-lg-9 {
        grid-column: 1;
        grid-row: 1;
    }

    .row:has(> .col-lg-9):has(> .col-lg-3) > .col-lg-3 {
        grid-column: 2;
        grid-row: 1;
    }
}

/* 参考消息模板沿用了 Bootstrap 5 的间距工具类，站内是 Bootstrap 4，原先不生效：
   首页两个按钮手机上换行后上下贴在一起，卡片网格也没有行距 */
.gap-2 {
    gap: 0.5rem !important;
}

.gap-3 {
    gap: 1rem !important;
}

.row.g-3 > * {
    margin-bottom: 1rem;
}

.row.g-4 > * {
    margin-bottom: 1.5rem;
}

/* ==== css/bootstrap.purged.css ==== */
/* 由 scripts/build_css.py 用 PurgeCSS 从 vendor/bootstrap-4.6.2/bootstrap.min.css 裁剪生成，勿手改。Bootstrap v4.6.2 (https://getbootstrap.com/) MIT License */
/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,footer,header,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}h1,h2,h3,h4,h5{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}b,strong{font-weight:bolder}small{font-size:80%}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}img{vertical-align:middle;border-style:none}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}summary{display:list-item;cursor:pointer}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,h1,h2,h3,h4,h5{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.lead{font-size:1.25rem;font-weight:300}.small,small{font-size:.875em;font-weight:400}.list-unstyled{padding-left:0;list-style:none}.container,.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col,.col-12,.col-lg-3,.col-lg-4,.col-lg-8,.col-lg-9,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-6,.col-md-8,.col-md-9,.col-sm-12{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media (min-width:576px){.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media (min-width:768px){.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}}@media (min-width:992px){.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=month].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-group{margin-bottom:1rem}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{width:auto}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.collapse:not(.show){display:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.form-control:focus{z-index:3}.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append{display:-ms-flexbox;display:flex}.input-group-append .btn{position:relative;z-index:2}.input-group-append .btn:focus{z-index:3}.input-group-append .btn+.btn{margin-left:-1px}.input-group-append{margin-left:-1px}.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.d-none{display:none!important}.d-flex{display:-ms-flexbox!important;display:flex!important}@media (min-width:576px){.d-sm-inline{display:inline!important}}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}@media (min-width:768px){.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.w-100{width:100%!important}.h-100{height:100%!important}.mb-0{margin-bottom:0!important}.mr-1{margin-right:.25rem!important}.ml-1{margin-left:.25rem!important}.my-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.mt-5{margin-top:3rem!important}.mb-5{margin-bottom:3rem!important}.py-3{padding-top:1rem!important}.py-3{padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important}.py-4{padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important}.py-5{padding-bottom:3rem!important}.mt-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mx-auto{margin-left:auto!important}@media (min-width:576px){.my-sm-0{margin-top:0!important}.my-sm-0{margin-bottom:0!important}.mr-sm-2{margin-right:.5rem!important}}@media (min-width:768px){.mt-md-0{margin-top:0!important}}@media (min-width:992px){.my-lg-0{margin-top:0!important}.my-lg-0{margin-bottom:0!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-justify{text-align:justify!important}.text-center{text-align:center!important}@media (min-width:768px){.text-md-right{text-align:right!important}}.text-uppercase{text-transform:uppercase!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-muted{color:#6c757d!important}.visible{visibility:visible!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}img{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}}

/* ==== css/icons.css ==== */
/*
 * 站内图标：取代 cdnjs 上整套 Font Awesome（all.min.css + 两个各 ~77KB 的字体）。
 * 全站只用到下面这些图标，模板里的 <i class="fas fa-xxx"> 写法保持不变，
 * 用 CSS mask 把 SVG 涂成 currentColor，颜色/字号/间距工具类照常生效。
 *
 * 图形来自 Font Awesome Free 5.15.4（https://fontawesome.com，图标 CC BY 4.0）。
 * 新增图标：从同版本 npm 包 svgs/<solid|regular|brands>/<name>.svg 取出 <svg>，
 * 去掉注释后 URL 编码进 --fa-icon；width = viewBox 宽度 / 512 em，
 * 与原字体字形的步进宽度一致。
 */
.fas, .far, .fab {
    display: inline-block;
    width: 1em;
    height: 1em;
    /* 字体版字形 ascent 448 / descent 64（单位 512），按基线对齐保持原有位置 */
    vertical-align: -0.125em;
    /* 空盒子在 flex 容器里会被压窄，字形不会；保持与字体版同宽 */
    flex-shrink: 0;
    font-style: normal;
    background-color: currentColor;
    -webkit-mask: var(--fa-icon) center / contain no-repeat;
    mask: var(--fa-icon) center / contain no-repeat;
}

.fa-2x {
    font-size: 2em;
}

.fab.fa-twitter{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E")}
.far.fa-calendar-alt{width:0.875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z'/%3E%3C/svg%3E")}
.far.fa-newspaper{width:1.125em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z'/%3E%3C/svg%3E")}
.fas.fa-angle-double-left{width:0.875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z'/%3E%3C/svg%3E")}
.fas.fa-angle-double-right{width:0.875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z'/%3E%3C/svg%3E")}
.fas.fa-angle-left{width:0.5em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z'/%3E%3C/svg%3E")}
.fas.fa-angle-right{width:0.5em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'/%3E%3C/svg%3E")}
.fas.fa-archive{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z'/%3E%3C/svg%3E")}
.fas.fa-arrow-right{width:0.875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E")}
.fas.fa-arrow-up{width:0.875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z'/%3E%3C/svg%3E")}
.fas.fa-calendar-alt{width:0.875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z'/%3E%3C/svg%3E")}
.fas.fa-calendar-check{width:0.875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z'/%3E%3C/svg%3E")}
.fas.fa-check{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E")}
.fas.fa-chevron-left{width:0.625em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'/%3E%3C/svg%3E")}
.fas.fa-chevron-right{width:0.625em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E")}
.fas.fa-eye{width:1.125em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z'/%3E%3C/svg%3E")}
.fas.fa-filter{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z'/%3E%3C/svg%3E")}
.fas.fa-gavel{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z'/%3E%3C/svg%3E")}
.fas.fa-globe{width:0.9688em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z'/%3E%3C/svg%3E")}
.fas.fa-globe-asia{width:0.9688em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z'/%3E%3C/svg%3E")}
.fas.fa-history{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z'/%3E%3C/svg%3E")}
.fas.fa-info-circle{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z'/%3E%3C/svg%3E")}
.fas.fa-layer-group{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z'/%3E%3C/svg%3E")}
.fas.fa-lightbulb{width:0.6875em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z'/%3E%3C/svg%3E")}
.fas.fa-link{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z'/%3E%3C/svg%3E")}
.fas.fa-list-ul{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z'/%3E%3C/svg%3E")}
.fas.fa-newspaper{width:1.125em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z'/%3E%3C/svg%3E")}
.fas.fa-search{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'/%3E%3C/svg%3E")}
.fas.fa-sync{width:1em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z'/%3E%3C/svg%3E")}
.fas.fa-tv{width:1.25em;--fa-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z'/%3E%3C/svg%3E")}
