/* ==========================================================================
   响应式：平板 ≤1200 / ≤1024 / ≤900 / 手机 ≤640 / 极窄 ≤400

   2.0 变更：
   - 移动抽屉、菜单等原本写死浅色的地方改为暗色
   - 保留并强化 .tb-sechead 的移动端规则（1.x 完全没有，标题被压成竖排）
   ========================================================================== */

/* --------------------------------------------------------------------------
   ≤1200px —— 收窄容器与侧栏
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
	:root {
		--tb-sidebar-w: 290px;
		--tb-gutter: 20px;
	}

	.tb-hero {
		gap: var(--tb-sp-8);
	}

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

	.tb-mixzone > :last-child {
		grid-column: 1 / -1;
	}

	.tb-footer__main {
		grid-template-columns: 1.2fr repeat(2, 1fr);
	}

	.tb-leadpost__title {
		font-size: var(--tb-fs-32);
	}
}

/* --------------------------------------------------------------------------
   ≤1024px —— 侧栏落到主列下方
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.tb-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--tb-sp-12);
	}

	.tb-sidebar {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--tb-sp-6);
		align-items: start;
	}

	.tb-sidebar .tb-widget--cta {
		grid-column: 1 / -1;
	}

	.tb-article__title {
		font-size: var(--tb-fs-32);
	}

	.tb-chanhead__title {
		font-size: var(--tb-fs-32);
	}

	.tb-statbar__num {
		font-size: var(--tb-fs-32);
	}
}

/* --------------------------------------------------------------------------
   ≤900px —— 头部折叠为抽屉，首页头条区改单列
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
	.tb-header__inner {
		gap: var(--tb-sp-3);
	}

	.tb-burger {
		display: grid;
		order: 3;
	}

	.tb-header__actions {
		margin-left: auto;
		order: 2;
	}

	/* 主导航抽屉 */
	html.js .tb-nav {
		display: none;
		position: fixed;
		top: var(--tb-header-h);
		left: 0;
		right: 0;
		bottom: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		background: var(--tb-bg);
		border-top: 1px solid var(--tb-line);
		box-shadow: 0 -20px 50px rgba(0, 0, 0, 0.7);
		padding: var(--tb-sp-3) var(--tb-gutter) var(--tb-sp-16);
		z-index: 210;
	}

	html.js .tb-nav.is-open {
		display: block;
		animation: tb-nav-in 180ms cubic-bezier(0.4, 0, 0.2, 1);
	}

	@keyframes tb-nav-in {
		from { opacity: 0; transform: translateY(-8px); }
		to   { opacity: 1; transform: translateY(0); }
	}

	html.js body.tb-nav-open {
		overflow: hidden;
	}

	.tb-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
	}

	.tb-nav__item > a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--tb-sp-3) var(--tb-sp-4);
		font-size: var(--tb-fs-16);
		border-radius: var(--tb-r-md);
	}

	.tb-nav__item > a::after {
		display: none;
	}

	.tb-nav__item > a[aria-current="page"],
	.tb-nav__item.is-current > a {
		background: rgba(198, 255, 61, 0.12);
	}

	.tb-nav__item--has-children > a::before {
		margin-left: 0;
		margin-right: 2px;
		vertical-align: 0;
	}

	/* 二级菜单常驻展开 */
	.tb-nav__item--has-children > .tb-nav__sub {
		position: static;
		display: block;
		box-shadow: none;
		border: 0;
		border-left: 2px solid var(--tb-line);
		border-radius: 0;
		margin: 2px 0 var(--tb-sp-2) var(--tb-sp-4);
		padding: 0 0 0 var(--tb-sp-2);
	}

	.tb-nav__sub a {
		padding: var(--tb-sp-3) var(--tb-sp-3);
		font-size: var(--tb-fs-15);
	}

	.tb-search__input {
		width: 116px;
	}

	/* 首页头条区改单列 */
	.tb-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--tb-sp-10);
		padding-block: var(--tb-sp-8) var(--tb-sp-12);
		margin-bottom: var(--tb-sp-12);
	}

	.tb-hero__side {
		gap: var(--tb-sp-6);
	}

	.tb-chanblock {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--tb-sp-8);
	}

	.tb-mixzone {
		grid-template-columns: minmax(0, 1fr);
		padding: var(--tb-sp-8);
	}

	.tb-mixzone > :last-child {
		grid-column: auto;
	}

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

	.tb-subscribe {
		padding: var(--tb-sp-10);
	}

	.tb-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--tb-sp-8);
	}
}

/* --------------------------------------------------------------------------
   ≤640px —— 手机
   -------------------------------------------------------------------------- */
@media (max-width: 640px) {
	:root {
		--tb-gutter: 16px;
		--tb-header-h: 58px;
		--tb-subnav-h: 44px;
	}

	/* ---- 板块标题条：标题保持单行，副标题让位 ----
	   1.x 这里没有任何规则，副标题（长句 nowrap）把标题压到每行 1 个字。
	   现在 640px 以下直接隐藏副标题，把整行宽度让给标题和「更多」。 */
	.tb-sechead {
		gap: var(--tb-sp-3);
		margin-bottom: var(--tb-sp-5);
	}

	.tb-sechead__title {
		font-size: var(--tb-fs-20);
		padding-left: var(--tb-sp-3);
	}

	.tb-sechead__title::before {
		width: 4px;
		height: 17px;
	}

	.tb-sechead__sub {
		display: none;
	}

	.tb-brand__name {
		font-size: var(--tb-fs-18);
	}

	.tb-brand__slogan {
		display: none;
	}

	.tb-search__input {
		width: 84px;
	}

	.tb-subnav .tb-container {
		gap: var(--tb-sp-3);
	}

	.tb-subnav__group + .tb-subnav__group {
		padding-left: var(--tb-sp-3);
	}

	/* 头条稿 */
	.tb-leadpost {
		aspect-ratio: 4 / 3;
		border-radius: var(--tb-r-lg);
	}

	.tb-leadpost__body {
		padding: var(--tb-sp-5);
	}

	.tb-leadpost__title {
		font-size: var(--tb-fs-22);
		letter-spacing: -0.02em;
	}

	.tb-leadpost__excerpt {
		display: none;
	}

	.tb-herogrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--tb-sp-3);
	}

	.tb-herogrid .tb-card__excerpt {
		display: none;
	}

	.tb-herogrid .tb-card__title {
		font-size: var(--tb-fs-14);
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}

	/* 频道区块间距收紧 */
	.tb-sections {
		gap: var(--tb-sp-12);
	}

	.tb-section {
		padding-top: var(--tb-sp-6);
	}

	/* 卡片缩略图 */
	.tb-card--list .tb-card__thumb,
	.tb-chanblock__list .tb-card--list .tb-card__thumb {
		width: 112px;
		height: 76px;
	}

	.tb-card--list .tb-card__title,
	.tb-chanblock__list .tb-card--list .tb-card__title,
	.tb-chanblock__list .tb-card--list:first-child .tb-card__title {
		font-size: var(--tb-fs-15);
		letter-spacing: 0;
	}

	.tb-chanblock__lead .tb-card__title {
		font-size: var(--tb-fs-19);
	}

	.tb-chanblock__list .tb-card--list:first-child {
		padding-bottom: var(--tb-sp-4);
		margin-bottom: var(--tb-sp-3);
	}

	/* 列表流 */
	.tb-stream .tb-card--list .tb-card__thumb,
	.tb-stream .tb-card--list:first-child .tb-card__thumb {
		width: 124px;
		height: 84px;
	}

	.tb-stream .tb-card--list .tb-card__title,
	.tb-stream .tb-card--list:first-child .tb-card__title {
		font-size: var(--tb-fs-16);
	}

	.tb-stream .tb-card--list .tb-card__excerpt,
	.tb-stream .tb-card--list:first-child .tb-card__excerpt {
		display: none;
	}

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

	/* 触屏没有 hover：关掉位移与图片缩放 */
	.tb-card--feature:hover,
	.tb-card--tile:hover,
	.tb-gridview .tb-card:hover,
	.tb-topicgrid .tb-card:hover {
		transform: none;
	}

	.tb-thumb__img,
	.tb-thumb__cover {
		transition: filter var(--tb-transition);
	}

	.tb-card__title a:hover,
	.tb-card--feature:hover .tb-card__title {
		text-shadow: none;
	}

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

	/* 文章页 */
	.tb-article__head {
		padding-left: var(--tb-sp-4);
	}

	.tb-article__title {
		font-size: var(--tb-fs-24);
		letter-spacing: -0.02em;
	}

	.tb-article__standfirst {
		font-size: var(--tb-fs-15);
	}

	.tb-content {
		font-size: var(--tb-fs-15);
		line-height: 1.85;
	}

	.tb-content h2 {
		font-size: var(--tb-fs-20);
	}

	.tb-content h3 {
		font-size: var(--tb-fs-17);
	}

	.tb-content blockquote {
		padding: var(--tb-sp-4) var(--tb-sp-5);
	}

	.tb-toc {
		padding: var(--tb-sp-4);
	}

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

	.tb-postnav__item--next {
		text-align: left;
	}

	.tb-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--tb-sp-4);
	}

	.tb-related__grid .tb-card__meta {
		display: none;
	}

	.tb-comments {
		max-width: 100%;
	}

	/* 频道头 */
	.tb-chanhead {
		padding: var(--tb-sp-8) var(--tb-sp-6);
		border-radius: var(--tb-r-lg);
	}

	.tb-chanhead__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--tb-sp-5);
	}

	.tb-chanhead__title {
		font-size: var(--tb-fs-28);
	}

	.tb-chanhead__stats {
		gap: var(--tb-sp-8);
	}

	.tb-chanhead__stat b {
		font-size: var(--tb-fs-24);
	}

	/* 数据条 */
	.tb-statbar__item {
		padding: var(--tb-sp-6) var(--tb-sp-4);
	}

	.tb-statbar__num {
		font-size: var(--tb-fs-28);
	}

	.tb-subscribe {
		padding: var(--tb-sp-8) var(--tb-sp-6);
	}

	.tb-subscribe__title {
		font-size: var(--tb-fs-22);
	}

	.tb-404__code {
		font-size: 60px;
	}

	.tb-footer__main {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--tb-sp-6);
		padding-block: var(--tb-sp-10);
	}

	.tb-main {
		padding-block: var(--tb-sp-6) var(--tb-sp-16);
	}
}

/* --------------------------------------------------------------------------
   ≤400px —— 极窄屏
   -------------------------------------------------------------------------- */
@media (max-width: 400px) {
	.tb-search {
		display: none;
	}

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

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

	.tb-sechead__title {
		font-size: var(--tb-fs-18);
	}

	.tb-article__title {
		font-size: var(--tb-fs-22);
	}
}

/* --------------------------------------------------------------------------
   打印
   -------------------------------------------------------------------------- */
@media print {
	.tb-header,
	.tb-subnav,
	.tb-sidebar,
	.tb-footer,
	.tb-pager,
	.tb-share,
	.tb-postnav,
	.tb-related,
	.tb-flash,
	.tb-progress {
		display: none !important;
	}

	.tb-grid {
		grid-template-columns: 1fr;
	}

	/* 打印时强制回到白底，否则浪费墨且对比度不对 */
	body,
	body::before {
		background: #FFFFFF !important;
		color: #000000 !important;
	}

	.tb-content {
		font-size: 12pt;
		color: #000;
	}
}