:root {
    --tf-red: #991b1b;
    --tf-red-strong: #b91c1c;
    --tf-bg: #f8fafc;
    --tf-text: #1f2937;
    --tf-muted: #6b7280;
    --tf-border: #e5e7eb;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-width: 1280px;
    font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
    color: var(--tf-text);
    background: var(--tf-bg);
}

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

.tf-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

.tf-topbar {
    background: #8f1010;
    color: #fff;
    font-size: 12px;
}

.tf-topbar-inner {
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tf-header-main {
    background: #fff;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.08);
}

.tf-header-main-inner {
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.tf-logo {
    font-size: 28px;
    font-weight: 700;
    color: var(--tf-red);
}

.tf-slogan {
    flex: 1;
    margin: 0;
    padding: 0 24px;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    color: #991b1b;
    letter-spacing: 0.12em;
    line-height: 1.5;
    min-width: 0;
}

.tf-logo-wrap {
    display: block;
    min-width: 260px;
}

.tf-logo-img {
    display: block;
    height: 78px;
    width: auto;
}

.tf-header-ad {
    flex-shrink: 0;
    max-width: 420px;
    height: 80px;
    min-height: 80px;
    max-height: 80px;
    border: 1px dashed #d1d5db;
    background: #f8fafc;
    color: #9ca3af;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    box-sizing: border-box;
    overflow: hidden;
}

.tf-nav {
    background: linear-gradient(180deg, #b61111 0%, #970d0d 100%);
    border-top: 1px solid #8e0d0d;
    border-bottom: 1px solid #7f0b0b;
}

.tf-nav-inner {
    display: flex;
    align-items: center;
    gap: 16px;
}

.tf-nav-toggle {
    display: none;
    width: 100%;
    padding: 12px 0;
    border: 0;
    background: transparent;
    color: inherit;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font: inherit;
    cursor: pointer;
}

.tf-nav-toggle-label {
    font-size: 15px;
    font-weight: 600;
}

.tf-nav-toggle-bars {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
}

.tf-nav-toggle-bars span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.tf-nav-menu {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

.tf-nav-more {
    display: none;
}

.tf-nav-more-btn {
    border: 0;
    background: transparent;
    color: #6b7280;
    font: inherit;
    cursor: pointer;
}

.tf-view-switch {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.tf-view-switch-btn {
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #6b7280;
    border-radius: 999px;
    padding: 6px 12px;
    font: inherit;
    font-size: 13px;
    line-height: 1.4;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tf-view-switch-btn:hover {
    color: #b91c1c;
    border-color: #fecaca;
    background: #fef2f2;
}

.tf-view-switch-btn.is-active {
    color: #fff;
    border-color: #b91c1c;
    background: #b91c1c;
}

.tf-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0;
    flex-wrap: wrap;
}

.tf-nav li a {
    display: inline-block;
    padding: 0 20px;
    height: 62px;
    line-height: 62px;
    font-weight: 600;
    color: #fff;
    font-size: 16px;
}

.tf-nav li a:hover,
.tf-nav li a.menu-current,
.tf-nav li a.cur {
    color: #ffe082;
    background: rgba(255, 255, 255, 0.08);
}

.tf-nav li {
    position: relative;
}

.tf-nav li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 20;
    min-width: 140px;
    background: #a50f0f;
    border: 1px solid #8d0d0d;
}

.tf-nav li:hover > ul {
    display: block;
}

.tf-nav li ul li a {
    width: 100%;
    padding: 10px 12px;
    display: block;
    height: auto;
    line-height: 1.6;
    border-bottom: 1px solid #8d0d0d;
    color: #fff;
    font-size: 14px;
}

.tf-search-row {
    background: #f6f6f6;
    border-bottom: 1px solid #e5e7eb;
    padding: 14px 0;
}

.tf-search {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
}

.tf-search input {
    border: 1px solid var(--tf-border);
    border-radius: 6px;
    padding: 10px 12px;
    width: 300px;
    color: #333;
}

.tf-search button {
    border: 0;
    background: #b61111;
    color: #fff;
    border-radius: 6px;
    padding: 11px 16px;
    cursor: pointer;
}

.tf-content {
    min-height: 520px;
    padding: 28px 0 44px;
}

.tf-ad-stack {
    display: grid;
    gap: 5px;
    margin-bottom: 28px;
}

.tf-ad {
    border: 1px dashed #fca5a5;
    color: #6b7280;
    background: linear-gradient(90deg, #fff1f2, #f8fafc);
    text-align: center;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tf-ad.h64 {
    height: 64px;
}

.tf-ad.h96 {
    height: 96px;
}

/* 后台广告位固定高度：顶栏 80，首页三槽 64 / 96 / 64 */
.tf-ad-slot--top {
    height: 80px;
    min-height: 80px;
    max-height: 80px;
    box-sizing: border-box;
    overflow: hidden;
}

.tf-ad.tf-ad-slot--i1,
.tf-ad.tf-ad-slot--i3 {
    height: 90px;
    min-height: 64px;
    max-height: 90px;
    box-sizing: border-box;
    overflow: hidden;
}

.tf-ad.tf-ad-slot--i2 {
    height: 96px;
    min-height: 96px;
    max-height: 96px;
    box-sizing: border-box;
    overflow: hidden;
}

/* 后台广告位图片：替换虚线占位样式 */
.tf-ad.tf-ad--has-media,
.tf-header-ad.tf-ad--has-media {
    border: 0;
    background: transparent;
    color: inherit;
    font-weight: 400;
    padding: 0;
    overflow: hidden;
}

.tf-ad.tf-ad--has-media {
    display: block;
}

.tf-ad.tf-ad--has-media .tf-ad-slot-link,
.tf-header-ad.tf-ad--has-media .tf-ad-slot-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.tf-ad.tf-ad-slot--i1.tf-ad--has-media .tf-ad-slot-link img,
.tf-ad.tf-ad-slot--i2.tf-ad--has-media .tf-ad-slot-link img,
.tf-ad.tf-ad-slot--i3.tf-ad--has-media .tf-ad-slot-link img,
.tf-ad.tf-ad-slot--i1.tf-ad--has-media > img,
.tf-ad.tf-ad-slot--i2.tf-ad--has-media > img,
.tf-ad.tf-ad-slot--i3.tf-ad--has-media > img {
    width: 100%;
    height: 100%;K
    display: block;
    vertical-align: top;
}

.tf-header-ad.tf-ad-slot--top.tf-ad--has-media .tf-ad-slot-link img,
.tf-header-ad.tf-ad-slot--top.tf-ad--has-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.tf-grid {
    display: grid;
    gap: 24px;
}

.tf-grid-main {
    grid-template-columns: 2fr 1fr;
}

.tf-card {
    background: #fff;
    border: 1px solid var(--tf-border);
    border-radius: 8px;
    padding: 16px;
}

.tf-home-module {
    background: #fff;
    border: 1px solid var(--tf-border);
    border-radius: 8px;
    padding: 16px;
    min-height: 310px;
}

/* 与设计稿一致：主内容区灰底上的板块无白卡片包边 */
.tf-home-module--bare {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    min-height: 0;
    box-shadow: none;
}

.tf-module-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.tf-module-title-icon {
    flex-shrink: 0;
    display: block;
}

.tf-module-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid #b91c1c;
    padding-bottom: 10px;
    margin-bottom: 14px;
}

.tf-module-head h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #111827;
}

.tf-module-head h2 small {
    font-size: 13px;
    color: #6b7280;
    font-weight: 400;
    margin-left: 6px;
}

.tf-module-head a {
    font-size: 13px;
    color: #b91c1c;
    text-decoration: none;
}

/* 天府聚焦「更多」：灰字悬停红（勿影响乡村/法治的 --green / --law） */
.tf-home-module--bare .tf-module-head a.tf-module-more:not(.tf-module-more--green):not(.tf-module-more--law) {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tf-home-module--bare .tf-module-head a.tf-module-more:not(.tf-module-more--green):not(.tf-module-more--law):hover {
    color: #dc2626;
    text-decoration: none;
}

.tf-home-module--bare .tf-module-head a.tf-module-more--green,
.tf-home-module--bare .tf-module-head a.tf-module-more--law {
    color: #6b7280;
    transition: color 0.2s ease;
}

.tf-home-module--bare .tf-module-head a.tf-module-more--green:hover {
    color: #16a34a;
}

.tf-home-module--bare .tf-module-head a.tf-module-more--law:hover {
    color: #991b1b;
}

/* 侧栏（合作交流）：与主栏 tf-module-head 同行布局，灰底标题条 */
.tf-module-head.tf-side-head {
    flex-wrap: nowrap;
    gap: 8px;
    margin: -16px -16px 12px;
    padding: 12px 16px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.tf-module-head.tf-side-head h2 {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 16px;
    line-height: 1.25;
}

.tf-module-head.tf-side-head .tf-module-more {
    flex: 0 0 auto;
    margin-left: auto;
    align-self: center;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 400;
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tf-module-head.tf-side-head .tf-module-more:hover {
    color: #dc2626;
    text-decoration: none;
}

.tf-video-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
}

.tf-video-hero {
    height: 400px;
    border-radius: 8px;
    overflow: hidden;
    display: block;
    position: relative;
    color: #fff;
}

.tf-video-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tf-video-hero:hover img,
.tf-video-mini:hover img,
.tf-focus-lead:hover .tf-focus-lead-thumb img {
    transform: scale(1.05);
    transition: transform .45s ease;
}

.tf-video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.75), transparent 50%);
}

.tf-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.tf-video-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px;
}

.tf-video-caption h3 {
    margin: 8px 0 6px;
    font-size: 24px;
}

.tf-video-caption p {
    margin: 0;
    color: #d1d5db;
    font-size: 13px;
}

.tf-tag {
    display: inline-block;
    font-size: 12px;
    background: #dc2626;
    border-radius: 4px;
    padding: 2px 6px;
}

.tf-video-side {
    display: grid;
    gap: 10px;
    grid-auto-rows: 1fr;
}

.tf-video-mini {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 10px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 8px;
    min-height: 92px;
}

.tf-video-mini img {
    width: 130px;
    height: 90px;
    object-fit: cover;
    border-radius: 4px;
}

.tf-video-mini h4 {
    margin: 2px 0 6px;
    font-size: 14px;
    line-height: 1.5;
    height: 42px;
    overflow: hidden;
}

.tf-video-mini p {
    margin: 0;
    color: #6b7280;
    font-size: 12px;
}

.tf-focus-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: stretch;
    min-height: 0;
}

.tf-focus-lead {
    display: block;
    color: inherit;
    text-decoration: none;
}

.tf-focus-lead-thumb {
    position: relative;
    height: 192px;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.tf-focus-lead-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.tf-focus-lead-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e5e7eb;
    color: #6b7280;
    font-size: 14px;
}

.tf-focus-lead h3 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.375;
    color: #111827;
    transition: color 0.2s ease;
}

.tf-focus-lead:hover h3 {
    color: #b91c1c;
}

.tf-focus-lead p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.625;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tf-focus-news-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tf-focus-news-list li {
    margin: 0 0 16px;
    padding: 0 0 12px;
    border-bottom: 1px solid #f3f4f6;
}

.tf-focus-news-list li:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.tf-focus-news-link {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    text-decoration: none;
    color: inherit;
}

.tf-focus-bullet {
    color: #dc2626;
    font-weight: 700;
    line-height: 1.4;
    flex-shrink: 0;
}

.tf-focus-news-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.tf-focus-news-title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: #1f2937;
    transition: color 0.2s ease;
}

.tf-focus-news-link:hover .tf-focus-news-title {
    color: #dc2626;
}

.tf-focus-news-date {
    font-size: 12px;
    color: #9ca3af;
}

.tf-home-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 24px;
    align-items: start;
}

.tf-home-2col > * {
    min-width: 0;
}

.tf-home-2col.tf-home-2col--equal {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/* 第二行：乡村社区、法治党建、合作交流三等分占满版心 */
.tf-home-3col {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 24px;
    margin-bottom: 24px;
    align-items: start;
}

.tf-home-3col > * {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.tf-home-3col .tf-rural-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.tf-home-3col .tf-rural-card-thumb {
    width: 112px;
    height: 72px;
}

.tf-home-3col .tf-law-stack,
.tf-home-3col .tf-law-card,
.tf-home-3col .tf-law-links {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.tf-module-block {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
}

.tf-module-head h2.tf-module-title--md {
    font-size: 20px;
}

.tf-module-head--green {
    border-bottom-color: #16a34a;
    padding-bottom: 8px;
    margin-bottom: 24px;
}

.tf-module-head--law {
    border-bottom-color: #991b1b;
    padding-bottom: 8px;
    margin-bottom: 24px;
}

.tf-rural-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tf-rural-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 12px;
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    color: #1f2937;
    flex: 0 0 auto;
    min-height: 0;
    transition: box-shadow 0.2s ease;
}

.tf-rural-card:hover {
    box-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.06);
}

.tf-rural-card-thumb {
    width: 128px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

.tf-rural-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.tf-rural-card:hover .tf-rural-card-thumb img {
    transform: scale(1.05);
}

.tf-rural-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e5e7eb;
    color: #6b7280;
    font-size: 12px;
}

.tf-rural-card-body {
    min-width: 0;
    flex: 1;
}

.tf-rural-card-body h4 {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.375;
    color: #1f2937;
    transition: color 0.2s ease;
}

.tf-rural-card-summary {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: #6b7280;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tf-rural-card:hover .tf-rural-card-body h4 {
    color: #16a34a;
}

.tf-law-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tf-law-card {
    position: relative;
    height: 170px;
    border-radius: 8px;
    overflow: hidden;
    display: block;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
    color: inherit;
    text-decoration: none;
}

.tf-law-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.tf-law-card:hover img {
    transform: scale(1.05);
}

.tf-law-card-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #374151, #1f2937);
}

.tf-law-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.1));
    pointer-events: none;
}

.tf-law-card-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px;
}

.tf-law-badge {
    display: inline-block;
    font-size: 10px;
    line-height: 1.2;
    padding: 2px 6px;
    border-radius: 4px;
    color: #fff;
    margin-bottom: 4px;
}

.tf-law-badge--party {
    background: #dc2626;
}

.tf-law-badge--legal {
    background: #2563eb;
}

.tf-law-card-caption h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    line-height: 1.375;
}

.tf-law-links {
    list-style: none;
    margin: 0;
    padding: 16px;
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.tf-law-links li {
    margin: 0;
    padding: 0;
    border: 0;
}

.tf-law-link-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #374151;
    white-space: nowrap;
    overflow: hidden;
    text-decoration: none;
}

.tf-law-link-row:hover {
    color: #b91c1c;
}

.tf-law-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.tf-law-dot--party {
    background: #dc2626;
}

.tf-law-dot--legal {
    background: #2563eb;
}

.tf-home-cooperation {
    align-self: stretch;
    min-width: 0;
    overflow: hidden;
}

.tf-home-cooperation .tf-cooperation-link-text {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.tf-home-cooperation .tf-cooperation-dot {
    flex-shrink: 0;
    line-height: 1;
}

.tf-home-cooperation .tf-cooperation-title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tf-empty-thumb {
    width: 100%;
    height: 100%;
    background: #111827;
    color: #9ca3af;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tf-empty-thumb.mini {
    height: 90px;
    border-radius: 4px;
}

.tf-empty-hero {
    background: linear-gradient(135deg, #1f2937, #111827);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.tf-empty-box {
    border: 1px dashed #d1d5db;
    color: #9ca3af;
    border-radius: 8px;
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.tf-empty-item {
    color: #9ca3af;
    text-align: center;
}

.tf-section-title {
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--tf-red-strong);
    font-size: 22px;
}

.tf-news-list,
.tf-meta-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tf-news-list li,
.tf-meta-list li {
    padding: 10px 0;
    border-bottom: 1px dashed #e5e7eb;
}

.tf-news-list li:last-child,
.tf-meta-list li:last-child {
    border-bottom: 0;
}

.tf-news-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.tf-news-list a > span:first-child {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tf-news-list a > .tf-muted {
    flex-shrink: 0;
    white-space: nowrap;
}

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

.tf-two-col {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
}

.tf-article-card {
    display: grid;
    grid-template-columns: 1fr 160px;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px dashed #e5e7eb;
}

.tf-article-card:last-child {
    border-bottom: 0;
}

.tf-article-title {
    margin: 0 0 8px;
    font-size: 20px;
}

.tf-summary {
    color: #4b5563;
    line-height: 1.75;
}

.tf-thumb {
    width: 160px;
    height: 110px;
    object-fit: cover;
    border-radius: 6px;
    background: #f1f5f9;
}

.tf-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    background: #f3f4f6;
    border: 1px dashed #d1d5db;
}

.tf-list-title {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.5;
}

.tf-sidebar-title {
    margin: 0;
    padding: 12px 14px;
    border-bottom: 1px solid var(--tf-border);
    background: #fef2f2;
    color: var(--tf-red-strong);
    font-size: 16px;
}

.tf-breadcrumb {
    margin-bottom: 14px;
    color: #6b7280;
    font-size: 14px;
}

/* 栏目列表：对齐 html CategoryList（category/focus） */
.tf-cat-page {
    padding: 24px 0 8px;
}

.tf-cat-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 14px;
    color: #6b7280;
}

.tf-cat-breadcrumb-home {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tf-cat-breadcrumb-home::before {
    content: '';
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") no-repeat center / contain;
}

.tf-cat-breadcrumb-home:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='2'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
}

.tf-cat-breadcrumb-home:hover {
    color: #b91c1c;
}

.tf-cat-breadcrumb-current::before {
    content: '';
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.tf-cat-breadcrumb-sep {
    flex-shrink: 0;
    color: #9ca3af;
}

.tf-cat-breadcrumb-current {
    color: #1f2937;
    font-weight: 500;
}

.tf-cat-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: 32px;
    align-items: start;
}

.tf-cat-panel {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-top: 4px solid #b91c1c;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    padding: 24px;
}

.tf-cat-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f3f4f6;
}

.tf-cat-panel-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #111827;
    line-height: 1.3;
}

.tf-cat-panel-count {
    font-size: 14px;
    font-weight: 400;
    color: #6b7280;
}

.tf-cat-items {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tf-cat-item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px dashed #e5e7eb;
}

.tf-cat-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.tf-cat-item-media {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 33.333%;
    max-width: 280px;
    border-radius: 6px;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.tf-cat-item-aspect {
    position: relative;
    width: 100%;
    padding-bottom: 75%;
    background: #e5e7eb;
}

.tf-cat-item-aspect img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.tf-cat-item-media:hover .tf-cat-item-aspect img {
    transform: scale(1.05);
}

.tf-cat-item-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f3f4f6;
    color: #9ca3af;
    font-size: 12px;
}

.tf-cat-item-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tf-cat-item-title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.tf-cat-item-title a {
    color: #111827;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tf-cat-item-title a:hover {
    color: #b91c1c;
}

.tf-cat-item-summary {
    margin: 0;
    font-size: 14px;
    line-height: 1.625;
    color: #6b7280;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tf-cat-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    font-size: 12px;
    color: #9ca3af;
}

.tf-cat-item-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tf-cat-item-meta-item svg {
    flex-shrink: 0;
    opacity: 0.85;
}

.tf-cat-empty {
    margin: 24px 0;
    text-align: center;
    color: #9ca3af;
    font-size: 15px;
}

.tf-cat-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.tf-cat-pager {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.tf-cat-pager > li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tf-cat-pager-link {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 14px;
    color: #374151;
    text-decoration: none;
    background: #fff;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tf-cat-pager-link:hover {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.tf-cat-pager li.active .tf-cat-pager-link {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}

.tf-cat-pager li.active .tf-cat-pager-link:hover {
    color: #fff;
    background: #991b1b;
    border-color: #991b1b;
}

.tf-cat-pager li.disabled span.tf-cat-pager-link,
.tf-cat-pager .tf-cat-pager-link--disabled {
    color: #9ca3af;
    cursor: not-allowed;
    background: #f9fafb;
    border-color: #e5e7eb;
}

.tf-cat-pager li.disabled span.tf-cat-pager-link:hover,
.tf-cat-pager .tf-cat-pager-link--disabled:hover {
    background: #f9fafb;
    color: #9ca3af;
    border-color: #e5e7eb;
}

.tf-cat-aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tf-cat-hot {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.tf-cat-hot-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 16px;
    background: #fef2f2;
    border-bottom: 1px solid #fee2e2;
}

.tf-cat-hot-icon {
    flex-shrink: 0;
    color: #dc2626;
}

.tf-cat-hot-head h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #991b1b;
}

.tf-cat-hot-list {
    list-style: none;
    margin: 0;
    padding: 16px;
}

.tf-cat-hot-row {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
    align-items: flex-start;
}

.tf-cat-hot-row:last-child {
    margin-bottom: 0;
}

.tf-cat-hot-rank {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    background: #f3f4f6;
    color: #6b7280;
    margin-top: 2px;
}

.tf-cat-hot-rank.is-top {
    background: #fee2e2;
    color: #b91c1c;
}

.tf-cat-hot-link {
    font-size: 14px;
    line-height: 1.45;
    color: #374151;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s ease;
}

.tf-cat-hot-link:hover {
    color: #b91c1c;
}

.tf-cat-hot-empty {
    margin: 0;
    padding: 8px 0;
    color: #9ca3af;
    font-size: 14px;
    text-align: center;
    list-style: none;
}

/* 文章详情：对齐 html ArticleDetail（article/1） */
.tf-article-page {
    padding: 24px 0 8px;
}

.tf-article-breadcrumb .tf-article-breadcrumb-cat {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tf-article-breadcrumb .tf-article-breadcrumb-cat:hover {
    color: #b91c1c;
}

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

.tf-article-sheet {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    padding: 48px;
}

.tf-article-header {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid #f3f4f6;
    text-align: center;
}

.tf-article-headline {
    margin: 0 0 24px;
    font-size: 36px;
    font-weight: 800;
    color: #111827;
    line-height: 1.35;
    text-align: justify;
    text-align-last: center;
}

.tf-article-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 24px;
    padding: 12px 16px;
    background: #f9fafb;
    border-radius: 8px;
    font-size: 14px;
    color: #6b7280;
}

.tf-article-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tf-article-meta-item svg {
    flex-shrink: 0;
    opacity: 0.85;
}

.tf-article-meta-strong {
    font-weight: 600;
    color: #1f2937;
}

.tf-article-prose.tf-article-content p {
    text-indent: 2em;
    margin: 0 0 1.5rem;
    font-size: 18px;
    line-height: 1.875;
    color: #1f2937;
}

.tf-article-prose.tf-article-content p.tf-article-lead-figure {
    text-indent: 0;
    text-align: center;
    margin-bottom: 1.5rem;
}

.tf-article-prose.tf-article-content h1,
.tf-article-prose.tf-article-content h2,
.tf-article-prose.tf-article-content h3 {
    text-indent: 0;
    margin: 1.5rem 0 1rem;
    font-weight: 700;
    color: #111827;
}

.tf-article-prose.tf-article-content ul,
.tf-article-prose.tf-article-content ol {
    margin: 0 0 1.5rem;
    padding-left: 1.75em;
    font-size: 18px;
    line-height: 1.875;
    color: #1f2937;
}

.tf-article-tools {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 14px;
}

.tf-article-tools-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.tf-article-tool-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    font-size: 14px;
    color: #6b7280;
    font-family: inherit;
    transition: color 0.2s ease;
}

.tf-article-tool-btn:hover {
    color: #dc2626;
}

.tf-article-tools-right {
    color: #9ca3af;
}

.tf-article-prevnext {
    margin-top: 24px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    padding: 16px;
    font-size: 14px;
}

.tf-article-prevnext-next {
    text-align: right;
}

.tf-article-prevnext-item {
    min-width: 0;
    flex: 1;
}

.tf-article-prevnext-label {
    color: #6b7280;
    margin-right: 8px;
}

.tf-article-prevnext-item a {
    color: #1f2937;
    text-decoration: none;
}

.tf-article-prevnext-item a:hover {
    color: #b91c1c;
}

.tf-article-prevnext-empty {
    color: #9ca3af;
}

.tf-article-aside {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tf-article-related {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.tf-article-related-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 16px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.tf-article-related-head svg {
    color: #dc2626;
    flex-shrink: 0;
}

.tf-article-related-head h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #111827;
}

.tf-article-related-list {
    list-style: none;
    margin: 0;
    padding: 16px;
}

.tf-article-related-list li {
    margin: 0 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #e5e7eb;
}

.tf-article-related-list li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.tf-article-related-list a {
    font-size: 14px;
    line-height: 1.45;
    color: #374151;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tf-article-related-list a:hover {
    color: #b91c1c;
}

.tf-article-related-empty {
    list-style: none;
    border: 0 !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    color: #9ca3af;
    font-size: 14px;
    text-align: center;
}

@media print {
    .tf-article-aside,
    .tf-article-tools,
    .tf-article-breadcrumb,
    .tf-article-prevnext {
        display: none !important;
    }

    .tf-article-layout {
        display: block;
    }

    .tf-article-sheet {
        box-shadow: none;
        border: 0;
        padding: 0;
    }
}

.tf-page-wrap {
    display: grid;
   /* grid-template-columns: 1fr 320px;
    gap: 24px;*/
}

.tf-page-main {
    background: #fff;
    border: 1px solid var(--tf-border);
    border-radius: 8px;
    padding: 22px;
}

.tf-page-main h1 {
    margin: 0 0 8px;
    font-size: 32px;
    line-height: 1.4;
}

.tf-article-content {
    line-height: 1.9;
    color: #1f2937;
    font-size: 16px;
}

.tf-article-content img {
    max-width: 100%;
    height: auto;
}

.tf-prev-next {
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid var(--tf-border);
}

.tf-meta-bar {
    background: #f8fafc;
    border-radius: 6px;
    padding: 8px 12px;
    color: #6b7280;
    font-size: 13px;
    margin-bottom: 20px;
}

.tf-page-title-bar {
    background: #991b1b !important;
    color: #fff;
    padding: 18px 22px;
    border-radius: 8px 8px 0 0;
    margin: -22px -22px 22px;
}

.tf-page-title-bar h1 {
    margin: 0;
    font-size: 30px;
    color: #fff;
}

.tf-page-title-bar p {
    margin: 6px 0 0;
    color: #fff;
    font-size: 13px;
    opacity: 0.95;
}

.tf-pagination {
    margin-top: 18px;
}

.tf-pagination .pagination {
    list-style: none;
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.tf-pagination .pagination li a,
.tf-pagination .pagination li span {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid var(--tf-border);
    border-radius: 6px;
}

.tf-pagination .pagination li.active a,
.tf-pagination .pagination li.active span {
    background: var(--tf-red-strong);
    border-color: var(--tf-red-strong);
    color: #fff;
}

/* 页脚：对齐 html/src/app/Root.tsx */
.tf-footer {
    background: #2b2b2b;
    color: #d1d5db;
    border-top: 4px solid #b91c1c;
    font-size: 14px;
    padding-top: 10px;
}

.tf-footer-wrap {
    padding-top: 40px;
}

.tf-footer-grid {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px;
}

.tf-footer-broadcast {
    position: relative;
    overflow: hidden;
    background: #3a3a3a;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 16px;
    flex: 1 1 auto;
    max-width: 384px;
    width: 100%;
}

.tf-footer-broadcast-deco {
    position: absolute;
    top: 0;
    right: 0;
    width: 64px;
    height: 64px;
    background: rgba(220, 38, 38, 0.1);
    border-bottom-left-radius: 100%;
    transform: translate(16px, -16px);
    pointer-events: none;
}

.tf-footer-broadcast h4 {
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    color: #f3f4f6;
    position: relative;
    z-index: 1;
}

.tf-footer-broadcast-icon {
    flex-shrink: 0;
    color: #ef4444;
}

.tf-footer-broadcast-body {
    position: relative;
    z-index: 1;
    font-size: 14px;
    color: #d1d5db;
}

/* 后台自定义「video」整块 HTML */
.tf-footer-broadcast--custom {
    font-size: 14px;
    color: #d1d5db;
    line-height: 1.6;
}

.tf-footer-broadcast--custom a {
    color: #fecaca;
}

.tf-footer-broadcast--custom a:hover {
    color: #fff;
}

.tf-footer-broadcast-line {
    margin: 0 0 6px;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.5;
}

.tf-footer-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.tf-footer-dot--muted {
    background: #6b7280;
}

.tf-footer-dot--accent {
    background: #ef4444;
}

.tf-footer-broadcast-time {
    color: #f87171;
    font-weight: 500;
}

.tf-footer-broadcast-note {
    margin: 10px 0 0;
    padding-top: 10px;
    border-top: 1px solid #444;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.5;
}

.tf-footer-brand {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 0;
    min-width: 0;
}

.tf-footer-brand-meta p {
    margin: 0 0 4px;
    font-size: 14px;
    color: #9ca3af;
    line-height: 1.6;
}

.tf-footer-brand-meta p:last-child {
    margin-bottom: 0;
}

.tf-footer-licenses {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #444;
    font-size: 14px;
    color: #9ca3af;
    line-height: 1.6;
}

.tf-footer-licenses a {
    font-size: inherit;
    font-family: inherit;
    color: inherit;
    text-decoration: none;
}

.tf-footer-licenses a:hover {
    color: #d1d5db;
}

.tf-footer-qrs {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.tf-qr-item {
    text-align: center;
}

.tf-qr-frame {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    padding: 4px;
    background: #fff;
    border-radius: 4px;
    box-sizing: border-box;
}

.tf-qr-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    vertical-align: top;
}

.tf-qr-item span {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #9ca3af;
}

.tf-footer-bottom {
    border-top: 1px solid #404040;
    margin-top: 32px;
    padding: 0px 0 32px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 12px;
    color: #6b7280;
}

.tf-footer-bottom-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 12px;
    justify-content: flex-start;
}

.tf-footer-bottom-links a {
    color: #6b7280;
    font-size: 12px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.tf-footer-bottom-links a:hover {
    color: #fff;
}

.tf-footer-bottom-sep {
    color: #4b5563;
    user-select: none;
}

.tf-footer-bottom-copy p {
    margin: 0;
    text-align: right;
    line-height: 1.6;
}

/* Strictly mirror html/src Root.tsx visual system */
.tf-topbar {
    background: #991b1b !important;
    color: #fff;
    font-size: 12px;
}

.tf-topbar-inner {
    height: 40px !important;
}

/* 覆盖 style.css 中 div { color:#323232 }，保证顶栏文案与链接均为白色 */
.tf-topbar .tf-container,
.tf-topbar .tf-topbar-inner,
.tf-topbar span {
    color: #fff;
}

.tf-topbar a {
    color: #fff;
}

.tf-header-main {
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.tf-header-main-inner {
    min-height: 128px;
    padding: 24px 0;
}

.tf-logo-img {
    height: 80px !important;
}

.tf-slogan {
    font-size: 18px;
    letter-spacing: 0.1em;
}

.tf-header-ad {
    flex-shrink: 0;
    width: 395px;
    height: 78px;
    min-height: 78px;
    max-height: 78px;
    border: 1px dashed #d1d5db;
    background: #f3f4f6;
    color: #9ca3af;
    font-size: 14px;
    font-weight: 500;
    box-sizing: border-box;
    overflow: hidden;
}

.tf-nav {
    background: #fff !important;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    box-shadow: 0 6px 10px rgba(15, 23, 42, 0.06);
}

.tf-nav li a {
    height: 56px !important;
    line-height: 56px !important;
    color: #1f2937 !important;
    font-size: 16px !important;
    font-weight: 600;
    border-bottom: 2px solid transparent;
}

.tf-nav li a:hover,
.tf-nav li a.cur,
.tf-nav li a.menu-current {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    border-bottom-color: #b91c1c;
}

.tf-nav li ul {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
}

.tf-nav li ul li a {
    color: #374151 !important;
    border-bottom: 1px solid #f3f4f6 !important;
    height: auto !important;
    line-height: 1.6 !important;
}

.tf-content {
    background: #f9fafb;
}

/* 关于我们单页（布局样式在 CSS，CMS 富文本只保留语义化 class） */
.tf-about-page {
    padding: 32px 0 48px;
}

.tf-about-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

.tf-about-breadcrumb {
    margin-bottom: 24px;
}

.tf-about-cms {
    min-width: 0;
}

.tf-about-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.tf-about-hero {
    position: relative;
    background: #991b1b !important;
    color: #fff;
    padding: 24px 32px;
    display: flex;
    align-items: center;
    gap: 16px;
    overflow: hidden;
}

.tf-about-hero::before {
    content: '';
    width: 6px;
    height: 32px;
    background: #f87171;
    border-radius: 999px;
    flex-shrink: 0;
}

.tf-about-hero::after {
    content: '';
    position: absolute;
    right: -24px;
    top: -48px;
    width: 192px;
    height: 192px;
    opacity: 0.1;
    pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Crect width='20' height='15' x='2' y='7' rx='2' ry='2'/%3E%3Cpolyline points='17 2 12 7 7 2'/%3E%3C/svg%3E") no-repeat center / contain;
}

.tf-about-hero-text {
    position: relative;
    z-index: 1;
}

.tf-about-hero-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
}

.tf-about-hero-sub {
    margin: 8px 0 0;
    font-size: 14px;
    color: #fecaca;
}

.tf-about-body {
    padding: 48px;
}

.tf-about-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    margin-bottom: 48px;
    align-items: flex-start;
}

.tf-about-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tf-about-lead {
    margin: 0;
    text-indent: 2em;
    font-size: 18px;
    line-height: 1.75;
    color: #374151;
    text-align: justify;
}

.tf-about-lead strong {
    color: #991b1b;
}

.tf-about-p {
    margin: 0;
    text-indent: 2em;
    line-height: 1.75;
    color: #374151;
    text-align: justify;
}

.tf-about-info-box {
    background: #f9fafb;
    border-left: 4px solid #dc2626;
    border-radius: 0 8px 8px 0;
    padding: 24px;
    box-shadow: inset 0 2px 4px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tf-about-info-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-size: 14px;
    color: #1f2937;
}

.tf-about-info-row::before {
    content: '';
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background: no-repeat center / contain;
}

.tf-about-info-row--tv::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2'%3E%3Crect width='20' height='15' x='2' y='7' rx='2' ry='2'/%3E%3Cpolyline points='17 2 12 7 7 2'/%3E%3C/svg%3E");
}

.tf-about-info-row--clock::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}

.tf-about-info-k {
    font-weight: 700;
    color: #111827;
    width: 6rem;
    flex-shrink: 0;
}

.tf-about-time {
    color: #dc2626;
    font-weight: 700;
}

.tf-about-h2 {
    margin: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #e5e7eb;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
}

.tf-about-tags {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.tf-about-tags li {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fef2f2;
    color: #7f1d1d;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
}

.tf-about-tags li::before {
    content: '';
    width: 8px;
    height: 8px;
    background: #dc2626;
    border-radius: 50%;
    flex-shrink: 0;
}

.tf-about-side {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tf-about-photo-wrap {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.1);
    border: 4px solid #fff;
}

.tf-about-photo {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
}

.tf-about-matrix {
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    padding: 20px;
}

.tf-about-matrix-title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: #1e3a8a;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tf-about-matrix-title::before {
    content: '';
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat center / contain;
}

.tf-about-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tf-about-chip {
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    background: #fff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
}

.tf-about-chip--highlight {
    background: #dc2626;
    border-color: #b91c1c;
    color: #fff;
}

.tf-about-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding-top: 40px;
    border-top: 1px solid #e5e7eb;
}

.tf-about-h3 {
    margin: 0 0 24px;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tf-about-h3::before {
    content: '';
    width: 4px;
    height: 20px;
    background: #dc2626;
    border-radius: 2px;
    flex-shrink: 0;
}

.tf-about-org-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

.tf-about-org-card {
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 12px;
}

.tf-muted-sm {
    display: block;
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 4px;
    font-style: normal;
}

.tf-about-org-card strong {
    font-size: 16px;
    color: #111827;
}

.tf-about-org-lines {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 8px;
    margin-bottom: 24px;
}

.tf-about-org-line {
    display: flex;
    align-items: baseline;
    font-size: 14px;
    color: #374151;
}

.tf-about-org-label {
    width: 5rem;
    color: #6b7280;
    letter-spacing: 0.1em;
    flex-shrink: 0;
}

.tf-about-org-groups {
    padding-top: 16px;
    border-top: 1px dashed #e5e7eb;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 14px;
    margin-bottom: 16px;
}

.tf-about-org-group {
    display: flex;
    align-items: baseline;
}

.tf-about-org-label-lg {
    width: 6rem;
    color: #6b7280;
    flex-shrink: 0;
}

.tf-about-legal {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    background: #fefce8;
    border: 1px solid #fde047;
    border-radius: 8px;
    font-size: 14px;
    color: #854d0e;
}

.tf-about-legal::before {
    content: '';
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ca8a04' stroke-width='2'%3E%3Cpath d='m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1z'/%3E%3Cpath d='m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1z'/%3E%3Cpath d='M7 21h10'/%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M3 7h2c2 0 5 1 7 2 2-1 5-2 7-2h2'/%3E%3C/svg%3E") no-repeat center / contain;
}

.tf-about-legal strong {
    display: block;
    margin-bottom: 4px;
}

.tf-about-contact {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tf-about-contact-row {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.tf-about-contact-row::before {
    content: '';
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fef2f2;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    flex-shrink: 0;
}

.tf-about-contact-row--phone::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.tf-about-contact-row--email::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

.tf-about-contact-row--web::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2'%3E%3Crect width='20' height='15' x='2' y='7' rx='2' ry='2'/%3E%3Cpolyline points='17 2 12 7 7 2'/%3E%3C/svg%3E");
}

.tf-about-contact-row--location::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.tf-about-contact-row .tf-muted-sm {
    margin-bottom: 4px;
}

.tf-about-phone {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
}

.tf-about-contact-row a {
    color: #111827;
    font-weight: 500;
}

.tf-about-contact-row a:hover {
    color: #dc2626;
}

.tf-about-address {
    margin: 0;
    line-height: 1.6;
    font-weight: 500;
    color: #111827;
}

@media (max-width: 820px) {
    html {
        overflow-x: hidden;
    }

    body {
        min-width: 0;
        width: 100%;
        overflow-x: hidden;
    }

    header,
    main,
    footer,
    .tf-content,
    .tf-container {
        max-width: 100%;
    }

    .tf-article-content,
    .tf-article-prose,
    .tf-page-main,
    .tf-footer-broadcast--custom {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .tf-article-prose.tf-article-content {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .tf-article-prose.tf-article-content *,
    .tf-article-prose.tf-article-content *::before,
    .tf-article-prose.tf-article-content *::after {
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .tf-article-content img,
    .tf-article-content video,
    .tf-article-prose img,
    .tf-page-main img,
    .tf-page-main video,
    .tf-footer-broadcast--custom img,
    .tf-footer-broadcast--custom video {
        max-width: 100% !important;
        height: auto !important;
    }

    .tf-article-prose.tf-article-content img,
    .tf-article-prose.tf-article-content video {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .tf-article-content iframe,
    .tf-article-prose iframe,
    .tf-page-main iframe,
    .tf-footer-broadcast--custom iframe {
        max-width: 100% !important;
        width: 100% !important;
    }

    .tf-article-prose.tf-article-content embed,
    .tf-article-prose.tf-article-content object {
        max-width: 100% !important;
        width: 100% !important;
    }

    .tf-article-content table,
    .tf-article-content pre,
    .tf-article-prose table,
    .tf-article-prose pre,
    .tf-page-main table,
    .tf-page-main pre,
    .tf-footer-broadcast--custom table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .tf-article-prose.tf-article-content table {
        width: max-content !important;
        min-width: 100%;
    }

    .tf-article-prose.tf-article-content p.tf-article-lead-figure img {
        width: 100% !important;
    }

    .tf-container {
        padding: 0 14px;
    }

    .tf-topbar-inner {
        height: auto !important;
        min-height: 34px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding: 8px 0;
        line-height: 1.4;
    }

    .tf-topbar-inner span {
        max-width: 100%;
    }

    .tf-header-main-inner {
        height: auto;
        min-height: 0 !important;
        flex-wrap: wrap;
        align-items: center;
        padding: 16px 0;
    }

    .tf-logo-wrap {
        min-width: 0;
        max-width: 100%;
    }

    .tf-logo-img {
        height: 64px !important;
        max-width: 100%;
    }

    .tf-slogan {
        order: 3;
        width: 100%;
        padding: 0;
        text-align: left;
        font-size: 16px;
        letter-spacing: 0.06em;
    }

    .tf-header-ad {
        display: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .tf-nav-inner {
        display: block;
    }

    .tf-nav-menu {
        display: block;
        padding: 8px 0;
    }

    .tf-nav-menu > ul {
        max-width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
    }

    .tf-nav-menu > ul > li {
        min-width: 0;
        max-width: 100%;
        border-top: 0;
        flex: 0 0 auto;
    }

    .tf-nav-menu > ul > li > a {
        width: auto;
        white-space: nowrap;
        padding: 8px 14px !important;
        height: auto !important;
        min-height: 0;
        line-height: 1.4 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 14px !important;
        border-bottom: 0;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        background: #fff;
    }

    .tf-nav li ul {
        display: none !important;
    }

    .tf-nav-menu > ul > li > a:hover,
    .tf-nav-menu > ul > li > a.cur,
    .tf-nav-menu > ul > li > a.menu-current {
        color: #b91c1c !important;
        background: #fef2f2 !important;
        border-color: #fecaca;
    }

    .tf-nav-toggle {
        display: none !important;
    }

    .tf-view-switch {
        margin: 0;
        padding-bottom: 8px;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .tf-view-switch-btn {
        padding: 7px 12px;
    }

    .tf-nav-menu > ul > li.tf-nav-item--mobile-hidden {
        display: none;
    }

    .tf-nav-menu.has-mobile-more > ul > li.tf-nav-more {
        display: block;
    }

    .tf-nav-more-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 68px;
        padding: 8px 14px;
        border-radius: 999px;
        background: #f9fafb;
        color: #6b7280;
        font-size: 14px;
        line-height: 1.4;
        border: 1px solid #e5e7eb;
        transition: background 0.2s ease, color 0.2s ease;
    }

    .tf-nav-more-btn:hover,
    .tf-nav-more-btn:active {
        background: #fef2f2;
        color: #b91c1c;
    }

    .tf-content {
        padding: 20px 0 32px;
    }

    .tf-module-head,
    .tf-module-head.tf-side-head,
    .tf-home-3col .tf-module-head {
        flex-wrap: wrap;
        gap: 8px 12px;
    }

    .tf-module-head h2,
    .tf-module-title-row {
        min-width: 0;
        max-width: 100%;
    }

    .tf-grid-main,
    .tf-video-layout,
    .tf-focus-main,
    .tf-home-2col,
    .tf-home-2col.tf-home-2col--equal,
    .tf-home-3col,
    .tf-two-col,
    .tf-cat-layout,
    .tf-article-layout,
    .tf-page-wrap,
    .tf-about-grid,
    .tf-about-bottom,
    .tf-about-org-grid,
    .tf-about-org-lines,
    .tf-about-tags {
        grid-template-columns: 1fr !important;
    }

    .tf-video-hero {
        height: 320px;
    }

    .tf-video-mini {
        grid-template-columns: minmax(0, 112px) minmax(0, 1fr);
    }

    .tf-cat-item {
        flex-direction: column;
        gap: 16px;
    }

    .tf-cat-item-media {
        width: 100%;
        max-width: none;
    }

    .tf-cat-item-summary {
        -webkit-line-clamp: 3;
    }

    .tf-article-sheet,
    .tf-about-body {
        padding: 28px 24px;
    }

    .tf-article-headline {
        font-size: 30px;
    }

    .tf-article-prose.tf-article-content p,
    .tf-article-prose.tf-article-content ul,
    .tf-article-prose.tf-article-content ol,
    .tf-about-lead,
    .tf-about-p {
        font-size: 16px;
        line-height: 1.8;
    }

    .tf-article-prevnext {
        flex-direction: column;
    }

    .tf-article-prevnext-next {
        text-align: left;
    }

    .tf-page-main {
        padding: 18px;
    }

    .tf-page-title-bar {
        margin: -18px -18px 18px;
        padding: 16px 18px;
    }

    .tf-search {
        width: 100%;
        justify-content: stretch;
    }

    .tf-search input {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
    }

    .tf-footer-grid,
    .tf-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .tf-footer-broadcast,
    .tf-footer-brand,
    .tf-footer-qrs {
        width: 100%;
        max-width: none;
    }

    .tf-footer-qrs {
        justify-content: flex-start;
    }

    .tf-footer-brand-meta p,
    .tf-footer-licenses,
    .tf-footer-bottom-links {
        word-break: break-word;
    }

    .tf-footer-bottom-copy p {
        text-align: left;
    }
}

@media (max-width: 767px) {
    .tf-container {
        padding: 0 12px;
    }

    .tf-topbar-inner span:last-child {
        display: none;
    }

    .tf-header-main-inner {
        padding: 12px 0;
        gap: 12px;
    }

    .tf-logo-img {
        height: 52px !important;
    }

    .tf-slogan {
        font-size: 14px;
        letter-spacing: 0.04em;
        line-height: 1.6;
    }

    .tf-nav-toggle {
        padding: 10px 0;
    }

    .tf-video-hero,
    .tf-law-card {
        height: 220px;
    }

    .tf-video-play {
        width: 52px;
        height: 52px;
        font-size: 18px;
    }

    .tf-video-caption {
        padding: 14px;
    }

    .tf-video-caption h3 {
        font-size: 18px;
    }

    .tf-video-mini,
    .tf-article-card {
        grid-template-columns: 1fr !important;
    }

    .tf-video-mini img,
    .tf-empty-thumb.mini,
    .tf-rural-card-thumb,
    .tf-focus-lead-thumb {
        width: 100%;
        height: 180px;
    }

    .tf-rural-card {
        flex-direction: column;
        align-items: stretch;
    }

    .tf-cat-panel,
    .tf-page-main,
    .tf-article-sheet,
    .tf-about-body {
        padding: 16px;
    }

    .tf-cat-panel-title,
    .tf-page-main h1,
    .tf-page-title-bar h1 {
        font-size: 24px;
    }

    .tf-page-title-bar {
        margin: -16px -16px 16px;
        padding: 14px 16px;
    }

    .tf-article-header {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .tf-article-headline {
        margin-bottom: 16px;
        font-size: 24px;
        text-align: left;
        text-align-last: auto;
    }

    .tf-article-meta {
        justify-content: flex-start;
        padding: 10px 12px;
        gap: 8px 16px;
    }

    .tf-article-prose.tf-article-content p,
    .tf-article-prose.tf-article-content ul,
    .tf-article-prose.tf-article-content ol {
        font-size: 15px;
        line-height: 1.75;
    }

    .tf-article-tools {
        margin-top: 28px;
        padding-top: 16px;
    }

    .tf-about-hero {
        padding: 18px 16px;
    }

    .tf-about-hero-title,
    .tf-about-h2,
    .tf-about-h3 {
        font-size: 20px;
    }

    .tf-about-info-k,
    .tf-about-org-label,
    .tf-about-org-label-lg {
        width: auto;
    }

    .tf-about-contact-row {
        gap: 12px;
    }

    .tf-footer-wrap {
        padding-top: 24px;
    }

    .tf-footer-bottom {
        margin-top: 24px;
        padding-bottom: 24px;
    }
}

html.tf-view-mobile {
    overflow-x: hidden;
    background: #e5e7eb;
}

html.tf-view-mobile body {
    min-width: 0;
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
    overflow-x: hidden;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06), 0 20px 48px rgba(15, 23, 42, 0.18);
}

html.tf-view-mobile header,
html.tf-view-mobile main,
html.tf-view-mobile footer,
html.tf-view-mobile .tf-content,
html.tf-view-mobile .tf-container {
    max-width: 100%;
}

html.tf-view-mobile .tf-article-content,
html.tf-view-mobile .tf-article-prose,
html.tf-view-mobile .tf-page-main,
html.tf-view-mobile .tf-footer-broadcast--custom {
    overflow-wrap: anywhere;
    word-break: break-word;
}

html.tf-view-mobile .tf-article-prose.tf-article-content {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

html.tf-view-mobile .tf-article-prose.tf-article-content *,
html.tf-view-mobile .tf-article-prose.tf-article-content *::before,
html.tf-view-mobile .tf-article-prose.tf-article-content *::after {
    max-width: 100% !important;
    box-sizing: border-box;
}

html.tf-view-mobile .tf-article-content img,
html.tf-view-mobile .tf-article-content video,
html.tf-view-mobile .tf-article-prose img,
html.tf-view-mobile .tf-page-main img,
html.tf-view-mobile .tf-page-main video,
html.tf-view-mobile .tf-footer-broadcast--custom img,
html.tf-view-mobile .tf-footer-broadcast--custom video {
    max-width: 100% !important;
    height: auto !important;
}

html.tf-view-mobile .tf-article-prose.tf-article-content img,
html.tf-view-mobile .tf-article-prose.tf-article-content video {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

html.tf-view-mobile .tf-article-content iframe,
html.tf-view-mobile .tf-article-prose iframe,
html.tf-view-mobile .tf-page-main iframe,
html.tf-view-mobile .tf-footer-broadcast--custom iframe {
    max-width: 100% !important;
    width: 100% !important;
}

html.tf-view-mobile .tf-article-prose.tf-article-content embed,
html.tf-view-mobile .tf-article-prose.tf-article-content object {
    max-width: 100% !important;
    width: 100% !important;
}

html.tf-view-mobile .tf-article-content table,
html.tf-view-mobile .tf-article-content pre,
html.tf-view-mobile .tf-article-prose table,
html.tf-view-mobile .tf-article-prose pre,
html.tf-view-mobile .tf-page-main table,
html.tf-view-mobile .tf-page-main pre,
html.tf-view-mobile .tf-footer-broadcast--custom table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

html.tf-view-mobile .tf-article-prose.tf-article-content table {
    width: max-content !important;
    min-width: 100%;
}

html.tf-view-mobile .tf-article-prose.tf-article-content p.tf-article-lead-figure img {
    width: 100% !important;
}

html.tf-view-mobile .tf-container {
    padding: 0 12px;
}

html.tf-view-mobile .tf-topbar-inner {
    height: auto !important;
    min-height: 34px;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 8px 0;
    line-height: 1.4;
}

html.tf-view-mobile .tf-topbar-inner span:last-child {
    display: none;
}

html.tf-view-mobile .tf-header-main-inner {
    height: auto;
    min-height: 0 !important;
    flex-wrap: wrap;
    align-items: center;
    padding: 12px 0;
    gap: 12px;
}

html.tf-view-mobile .tf-logo-wrap {
    min-width: 0;
    max-width: 100%;
}

html.tf-view-mobile .tf-logo-img {
    height: 52px !important;
    max-width: 100%;
}

html.tf-view-mobile .tf-slogan {
    order: 3;
    width: 100%;
    padding: 0;
    text-align: left;
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1.6;
}

html.tf-view-mobile .tf-header-ad {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

html.tf-view-mobile .tf-nav-inner {
    display: block;
}

html.tf-view-mobile .tf-nav-menu {
    display: block;
    padding: 8px 0;
}

html.tf-view-mobile .tf-nav-menu > ul {
    max-width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

html.tf-view-mobile .tf-nav-menu > ul > li {
    min-width: 0;
    max-width: 100%;
    border-top: 0;
    flex: 0 0 auto;
}

html.tf-view-mobile .tf-nav-menu > ul > li > a {
    width: auto;
    white-space: nowrap;
    padding: 8px 14px !important;
    height: auto !important;
    min-height: 0;
    line-height: 1.4 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px !important;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    border-bottom: 0;
    background: #fff;
}

html.tf-view-mobile .tf-nav li ul {
    display: none !important;
}

html.tf-view-mobile .tf-nav-menu > ul > li > a:hover,
html.tf-view-mobile .tf-nav-menu > ul > li > a.cur,
html.tf-view-mobile .tf-nav-menu > ul > li > a.menu-current {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    border-color: #fecaca;
}

html.tf-view-mobile .tf-nav-toggle {
    display: none !important;
}

html.tf-view-mobile .tf-view-switch {
    margin: 0;
    padding-bottom: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

html.tf-view-mobile .tf-view-switch-btn {
    padding: 7px 12px;
}

html.tf-view-mobile .tf-nav-menu > ul > li.tf-nav-item--mobile-hidden {
    display: none;
}

html.tf-view-mobile .tf-nav-menu.has-mobile-more > ul > li.tf-nav-more {
    display: block;
}

html.tf-view-mobile .tf-nav-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #f9fafb;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.4;
    border: 1px solid #e5e7eb;
}

html.tf-view-mobile .tf-content {
    padding: 20px 0 32px;
}

html.tf-view-mobile .tf-module-head,
html.tf-view-mobile .tf-module-head.tf-side-head,
html.tf-view-mobile .tf-home-3col .tf-module-head {
    flex-wrap: wrap;
    gap: 8px 12px;
}

html.tf-view-mobile .tf-grid-main,
html.tf-view-mobile .tf-video-layout,
html.tf-view-mobile .tf-focus-main,
html.tf-view-mobile .tf-home-2col,
html.tf-view-mobile .tf-home-2col.tf-home-2col--equal,
html.tf-view-mobile .tf-home-3col,
html.tf-view-mobile .tf-two-col,
html.tf-view-mobile .tf-cat-layout,
html.tf-view-mobile .tf-article-layout,
html.tf-view-mobile .tf-page-wrap,
html.tf-view-mobile .tf-about-grid,
html.tf-view-mobile .tf-about-bottom,
html.tf-view-mobile .tf-about-org-grid,
html.tf-view-mobile .tf-about-org-lines,
html.tf-view-mobile .tf-about-tags {
    grid-template-columns: 1fr !important;
}

html.tf-view-mobile .tf-video-hero,
html.tf-view-mobile .tf-law-card {
    height: 220px;
}

html.tf-view-mobile .tf-video-mini,
html.tf-view-mobile .tf-article-card {
    grid-template-columns: 1fr !important;
}

html.tf-view-mobile .tf-video-mini img,
html.tf-view-mobile .tf-empty-thumb.mini,
html.tf-view-mobile .tf-rural-card-thumb,
html.tf-view-mobile .tf-focus-lead-thumb {
    width: 100%;
    height: 180px;
}

html.tf-view-mobile .tf-rural-card,
html.tf-view-mobile .tf-cat-item {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}

html.tf-view-mobile .tf-cat-item-media {
    width: 100%;
    max-width: none;
}

html.tf-view-mobile .tf-cat-panel,
html.tf-view-mobile .tf-page-main,
html.tf-view-mobile .tf-article-sheet,
html.tf-view-mobile .tf-about-body {
    padding: 16px;
}

html.tf-view-mobile .tf-cat-panel-title,
html.tf-view-mobile .tf-page-main h1,
html.tf-view-mobile .tf-page-title-bar h1,
html.tf-view-mobile .tf-article-headline {
    font-size: 24px;
}

html.tf-view-mobile .tf-page-title-bar {
    margin: -16px -16px 16px;
    padding: 14px 16px;
}

html.tf-view-mobile .tf-article-header {
    margin-bottom: 20px;
    padding-bottom: 20px;
}

html.tf-view-mobile .tf-article-headline {
    margin-bottom: 16px;
    text-align: left;
    text-align-last: auto;
}

html.tf-view-mobile .tf-article-meta {
    justify-content: flex-start;
    padding: 10px 12px;
    gap: 8px 16px;
}

html.tf-view-mobile .tf-article-prose.tf-article-content p,
html.tf-view-mobile .tf-article-prose.tf-article-content ul,
html.tf-view-mobile .tf-article-prose.tf-article-content ol,
html.tf-view-mobile .tf-about-lead,
html.tf-view-mobile .tf-about-p {
    font-size: 15px;
    line-height: 1.75;
}

html.tf-view-mobile .tf-article-prevnext,
html.tf-view-mobile .tf-footer-grid,
html.tf-view-mobile .tf-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
}

html.tf-view-mobile .tf-article-prevnext-next {
    text-align: left;
}

html.tf-view-mobile .tf-footer-broadcast,
html.tf-view-mobile .tf-footer-brand,
html.tf-view-mobile .tf-footer-qrs {
    width: 100%;
    max-width: none;
}

html.tf-view-mobile .tf-footer-qrs {
    justify-content: flex-start;
}

html.tf-view-mobile .tf-footer-wrap {
    padding-top: 24px;
}

html.tf-view-mobile .tf-footer-bottom {
    margin-top: 24px;
    padding-bottom: 24px;
}

html.tf-view-desktop {
    overflow-x: auto;
    background: var(--tf-bg);
}

html.tf-view-desktop body {
    min-width: 1280px;
    width: auto;
    max-width: none;
    margin: 0;
    overflow-x: visible;
    box-shadow: none;
}

html.tf-view-desktop .tf-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

html.tf-view-desktop .tf-topbar-inner {
    height: 40px !important;
    min-height: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    padding: 0;
}

html.tf-view-desktop .tf-topbar-inner span:last-child {
    display: inline;
}

html.tf-view-desktop .tf-header-main-inner {
    height: auto;
    min-height: 128px !important;
    flex-wrap: nowrap;
    padding: 24px 0;
    gap: 16px;
}

html.tf-view-desktop .tf-logo-img {
    height: 80px !important;
    max-width: none;
}

html.tf-view-desktop .tf-slogan {
    width: auto;
    padding: 0 24px;
    text-align: center;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1.5;
}

html.tf-view-desktop .tf-header-ad {
    display: flex !important;
    width: 395px !important;
    max-width: 395px !important;
    height: 78px;
    min-height: 78px;
    max-height: 78px;
}

html.tf-view-desktop .tf-nav-inner {
    display: flex;
    align-items: center;
    gap: 16px;
}

html.tf-view-desktop .tf-nav-menu {
    padding: 0;
}

html.tf-view-desktop .tf-nav-menu > ul {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
}

html.tf-view-desktop .tf-nav-menu > ul > li {
    border-top: 0;
    flex: 0 0 auto;
}

html.tf-view-desktop .tf-nav-menu > ul > li > a {
    width: auto;
    white-space: normal;
    padding: 0 20px !important;
    height: 56px !important;
    min-height: 56px;
    line-height: 56px !important;
    display: inline-block;
    font-size: 16px !important;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
}

html.tf-view-desktop .tf-nav li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 20;
    min-width: 140px;
    padding: 0;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
}

html.tf-view-desktop .tf-nav li:hover > ul {
    display: block;
}

html.tf-view-desktop .tf-nav li ul li a {
    width: 100%;
    padding: 10px 12px !important;
    display: block;
    height: auto !important;
    line-height: 1.6 !important;
    border-bottom: 1px solid #f3f4f6 !important;
    font-size: 14px !important;
    background: #fff !important;
}

html.tf-view-desktop .tf-nav-toggle {
    display: none !important;
}

html.tf-view-desktop .tf-view-switch {
    margin-left: auto;
    padding-bottom: 0;
    justify-content: flex-end;
}

html.tf-view-desktop .tf-nav-menu > ul > li.tf-nav-item--mobile-hidden,
html.tf-view-desktop .tf-nav-menu > ul > li.tf-nav-more {
    display: none !important;
}

html.tf-view-desktop .tf-content {
    padding: 28px 0 44px;
}

html.tf-view-desktop .tf-grid-main,
html.tf-view-desktop .tf-video-layout,
html.tf-view-desktop .tf-two-col {
    grid-template-columns: 2fr 1fr !important;
}

html.tf-view-desktop .tf-focus-main,
html.tf-view-desktop .tf-home-2col,
html.tf-view-desktop .tf-home-2col.tf-home-2col--equal,
html.tf-view-desktop .tf-about-bottom,
html.tf-view-desktop .tf-about-org-grid,
html.tf-view-desktop .tf-about-org-lines,
html.tf-view-desktop .tf-about-tags {
    grid-template-columns: 1fr 1fr !important;
}

html.tf-view-desktop .tf-home-3col {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.tf-view-desktop .tf-cat-layout {
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr) !important;
}

html.tf-view-desktop .tf-article-layout {
    grid-template-columns: minmax(0, 9fr) minmax(0, 3fr) !important;
}

html.tf-view-desktop .tf-page-wrap {
    /*grid-template-columns: 1fr 320px !important;*/
}

html.tf-view-desktop .tf-about-grid {
    grid-template-columns: 2fr 1fr !important;
}

html.tf-view-desktop .tf-video-hero {
    height: 400px;
}

html.tf-view-desktop .tf-video-mini {
    grid-template-columns: 130px 1fr !important;
}

html.tf-view-desktop .tf-video-mini img,
html.tf-view-desktop .tf-empty-thumb.mini {
    width: 130px;
    height: 90px;
}

html.tf-view-desktop .tf-rural-card {
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

html.tf-view-desktop .tf-rural-card-thumb {
    width: 128px;
    height: 80px;
}

html.tf-view-desktop .tf-cat-item {
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
}

html.tf-view-desktop .tf-cat-item-media {
    width: 33.333%;
    max-width: 280px;
}

html.tf-view-desktop .tf-cat-panel {
    padding: 24px;
}

html.tf-view-desktop .tf-page-main {
    padding: 22px;
}

html.tf-view-desktop .tf-article-sheet,
html.tf-view-desktop .tf-about-body {
    padding: 48px;
}

html.tf-view-desktop .tf-page-title-bar {
    margin: -22px -22px 22px;
    padding: 18px 22px;
}

html.tf-view-desktop .tf-cat-panel-title,
html.tf-view-desktop .tf-page-main h1,
html.tf-view-desktop .tf-page-title-bar h1 {
    font-size: 30px;
}

html.tf-view-desktop .tf-article-header {
    margin-bottom: 32px;
    padding-bottom: 32px;
}

html.tf-view-desktop .tf-article-headline {
    margin-bottom: 24px;
    font-size: 36px;
    text-align: justify;
    text-align-last: center;
}

html.tf-view-desktop .tf-article-meta {
    justify-content: center;
    padding: 12px 16px;
}

html.tf-view-desktop .tf-article-prose.tf-article-content p,
html.tf-view-desktop .tf-article-prose.tf-article-content ul,
html.tf-view-desktop .tf-article-prose.tf-article-content ol,
html.tf-view-desktop .tf-about-lead,
html.tf-view-desktop .tf-about-p {
    font-size: 18px;
    line-height: 1.875;
}

html.tf-view-desktop .tf-article-prevnext,
html.tf-view-desktop .tf-footer-grid,
html.tf-view-desktop .tf-footer-bottom {
    flex-direction: row;
    align-items: flex-start;
}

html.tf-view-desktop .tf-footer-grid {
    justify-content: space-between;
}

html.tf-view-desktop .tf-article-prevnext-next,
html.tf-view-desktop .tf-footer-bottom-copy p {
    text-align: right;
}

html.tf-view-desktop .tf-footer-broadcast {
    max-width: 384px;
}

html.tf-view-desktop .tf-footer-qrs {
    justify-content: flex-end;
}

