.caidan-nav,
.caidan-nav * {
	box-sizing: border-box;
}

.caidan-nav {
	--caidan-ink: #17212b;
	--caidan-muted: #64707c;
	--caidan-line: #dde2e5;
	--caidan-surface: #ffffff;
	--caidan-accent: #e9583f;
	width: 100%;
	margin: 0 auto;
	padding: clamp(22px, 3vw, 40px) clamp(18px, 4vw, 58px) clamp(48px, 7vw, 96px);
	background: #f4f6f6;
	color: var(--caidan-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
	line-height: 1.5;
}

.caidan-nav a {
	color: inherit;
	text-decoration: none;
}

.caidan-nav__category-nav,
.caidan-nav__content {
	width: min(100%, 1280px);
	margin-inline: auto;
}

.caidan-nav__category-nav {
	display: flex;
	gap: 8px;
	padding: 0 0 8px;
	overflow-x: auto;
	scrollbar-width: none;
}

.caidan-nav__category-nav::-webkit-scrollbar {
	display: none;
}

.caidan-nav__category-nav a {
	flex: 0 0 auto;
	padding: 7px 13px;
	border: 1px solid var(--caidan-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.68);
	color: #4b5760;
	font-size: 13px;
	font-weight: 650;
	transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.caidan-nav__category-nav a:hover,
.caidan-nav__category-nav a:focus-visible {
	border-color: #879198;
	background: #fff;
	color: var(--caidan-ink);
	outline: none;
}

.caidan-nav__section {
	padding: clamp(44px, 6vw, 74px) 0 0;
	scroll-margin-top: 24px;
}

.caidan-nav__content > .caidan-nav__section:first-child {
	padding-top: clamp(28px, 3vw, 42px);
}

.caidan-nav__section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
	align-items: end;
	gap: 32px;
	margin-bottom: 22px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--caidan-line);
}

.caidan-nav__section-heading > div {
	display: flex;
	align-items: baseline;
	gap: 13px;
}

.caidan-nav__section-index {
	color: var(--caidan-accent);
	font-size: 12px;
	font-weight: 750;
}

.caidan-nav__section h2 {
	margin: 0;
	color: #263747;
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 730;
	line-height: 1.2;
	letter-spacing: 0;
}

.caidan-nav__section-heading > p {
	margin: 0;
	color: var(--caidan-muted);
	font-size: 14px;
	text-align: right;
}

.caidan-nav__grid {
	display: grid;
	grid-template-columns: repeat(var(--caidan-columns), minmax(0, 1fr));
	gap: 14px;
}

.caidan-nav__card {
	min-width: 0;
}

.caidan-nav__card > a {
	position: relative;
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) 28px;
	align-items: center;
	gap: 15px;
	min-height: 146px;
	height: 100%;
	padding: 18px;
	border: 1px solid rgba(210, 216, 219, 0.88);
	border-radius: 8px;
	background: var(--caidan-surface);
	box-shadow: 0 4px 14px rgba(24, 33, 42, 0.045);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.caidan-nav__card > a:hover,
.caidan-nav__card > a:focus-visible {
	border-color: #b9c1c5;
	box-shadow: 0 12px 28px rgba(24, 33, 42, 0.1);
	outline: none;
	transform: translateY(-3px);
}

.caidan-nav__card > a[aria-disabled="true"] {
	cursor: default;
	opacity: 0.62;
	pointer-events: none;
}

.caidan-nav__visual {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	overflow: hidden;
	border-radius: 8px;
	color: #fff;
	font-size: 23px;
	font-weight: 750;
	line-height: 1;
}

.caidan-nav__visual img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.caidan-nav__visual--0 { background: #e9583f; }
.caidan-nav__visual--1 { background: #16877c; }
.caidan-nav__visual--2 { background: #6c63a8; }
.caidan-nav__visual--3 { background: #c27b17; }
.caidan-nav__visual--4 { background: #3174a4; }
.caidan-nav__visual--5 { background: #b84268; }

.caidan-nav__card-copy {
	display: block;
	min-width: 0;
}

.caidan-nav__card-copy strong {
	display: block;
	margin-bottom: 5px;
	overflow: hidden;
	color: #263747;
	font-size: 19px;
	font-weight: 730;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.caidan-nav__card-copy > span {
	display: -webkit-box;
	overflow: hidden;
	color: #74808a;
	font-size: 13px;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.caidan-nav__arrow {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 1px solid #dfe4e6;
	border-radius: 50%;
	color: #839098;
	font-size: 15px;
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.caidan-nav__card > a:hover .caidan-nav__arrow,
.caidan-nav__card > a:focus-visible .caidan-nav__arrow {
	border-color: var(--caidan-ink);
	background: var(--caidan-ink);
	color: #fff;
}

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

@media (max-width: 640px) {
	.caidan-nav {
		padding-inline: 16px;
	}

	.caidan-nav__section-heading {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.caidan-nav__section-heading > p {
		text-align: left;
	}

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

	.caidan-nav__card > a {
		grid-template-columns: 52px minmax(0, 1fr) 26px;
		min-height: 132px;
		padding: 15px;
	}

	.caidan-nav__visual {
		width: 52px;
		height: 52px;
	}

	.caidan-nav__card-copy strong {
		font-size: 17px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.caidan-nav *,
	.caidan-nav *::before,
	.caidan-nav *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
