@charset "UTF-8";
/**
 * RobotChina —— 近义 / 混淆类目（别名）机制 + 归档页折叠 + 导航下拉限高滚动
 *
 * 依据：唯一依据 §4.9（别名 7 条检索行为 / 6 项验收）、§4.8（混淆类目仅展示）、
 *      §7.2 第 2 项（归档页折叠）、§4.1（导航全层级展开 + 下拉限高滚动，不限深）
 *
 * 命名空间：.rc-alias-* / .rc-confusable* / .rc-similar* / .rc-cat-selector* / .rc-child-cats*
 */

/* ===========================================================================
 * 1. 「你是不是要找：X？」别名命中提示（§4.9 行为 1）
 * ========================================================================= */
.rc-alias-hit {
	margin: 0 0 16px;
	padding: 10px 14px;
	background: #eef6ff;
	border-left: 4px solid #2271b1;
	border-radius: 4px;
	color: #1a1a1a;
	font-size: 14px;
	line-height: 1.6;
}

/* ===========================================================================
 * 2. 「本类目也收」别名 chips（§4.9 行为 5）
 * ========================================================================= */
.rc-alias-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.8;
}
.rc-alias-label {
	color: #667;
	margin-right: 2px;
}
.rc-alias-chip {
	display: inline-block;
	padding: 2px 10px;
	background: #f2f4f7;
	border: 1px solid #e2e6ea;
	border-radius: 12px;
	color: #454f5e;
	white-space: nowrap;
}

/* ===========================================================================
 * 3. 相似 / 易混淆类目（§4.8「不合并、只写边界」的相邻对；仅展示）
 * ========================================================================= */
.rc-confusable {
	margin: 0 0 20px;
	padding: 12px 14px;
	background: #fafafa;
	border: 1px solid #ececec;
	border-radius: 6px;
}
.rc-confusable-title {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
}
.rc-confusable-list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	line-height: 1.9;
}
.rc-confusable-list li {
	color: #454f5e;
}
.rc-confusable-list a {
	color: #2271b1;
	text-decoration: none;
}
.rc-confusable-list a:hover {
	text-decoration: underline;
}
.rc-confusable-note {
	color: #888;
	font-style: normal;
	font-size: 12px;
}

/* ===========================================================================
 * 4. 无精确匹配 → 相近类目 top3（§4.9 行为 2；保证永不 0 结果空白）
 * ========================================================================= */
.rc-similar {
	margin: 0 0 24px;
	padding: 14px 16px;
	background: #fffbf0;
	border: 1px solid #f2e2c4;
	border-radius: 6px;
}
.rc-similar-title {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: #7a5b1e;
}
.rc-similar-list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 2;
}
.rc-similar-list a {
	color: #2271b1;
	text-decoration: none;
}
.rc-similar-list a:hover {
	text-decoration: underline;
}
.rc-similar-count {
	margin-left: 4px;
	color: #999;
	font-size: 12px;
}

/* ===========================================================================
 * 5. 类目选择器 [rc_cat_selector]（§4.9 行为 4；提交值恒为主归属编码）
 * ========================================================================= */
.rc-cat-selector {
	position: relative;
	max-width: 460px;
}
.rc-cat-selector-input {
	width: 100%;
	box-sizing: border-box;
	padding: 9px 12px;
	background: #fff;
	border: 1px solid #cfd6dd;
	border-radius: 4px;
	color: #1a1a1a;
	font: inherit;
	font-size: 14px;
}
.rc-cat-selector-input:focus {
	outline: none;
	border-color: #2271b1;
	box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.15);
}
.rc-cat-selector-list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 9999;
	max-height: 320px;
	overflow-y: auto;
	margin: 4px 0 0;
	padding: 4px 0;
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	list-style: none;
}
.rc-cat-selector-item {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 14px;
	color: #454f5e;
	font-size: 14px;
	cursor: pointer;
}
.rc-cat-selector-item:hover,
.rc-cat-selector-item[aria-selected="true"] {
	background: #f2f6fa;
	color: #1a1a1a;
}
.rc-cat-selector-item.is-alias {
	font-weight: 600;
}
.rc-cat-selector-count {
	color: #999;
	font-size: 12px;
}
.rc-cat-selector-picked {
	margin-top: 6px;
	padding: 6px 12px;
	background: #eef6ff;
	border-radius: 4px;
	color: #1a1a1a;
	font-size: 13px;
}
.rc-cat-selector-picked::before {
	content: "已选：";
	color: #667;
}
.rc-cat-selector[data-lang="en"] .rc-cat-selector-picked::before {
	content: "Selected: ";
}

/* ===========================================================================
 * 6. 归档页子类目折叠（§7.2 第 2 项；仅归档页，导航不受影响）
 * ========================================================================= */
.rc-child-cats.rc-collapsed {
	max-height: 132px;
	overflow: hidden;
}
.rc-child-cats-toggle {
	display: inline-block;
	margin: 0 0 24px;
	padding: 6px 14px;
	background: #fff;
	border: 1px solid #cfd6dd;
	border-radius: 4px;
	color: #454f5e;
	font: inherit;
	font-size: 13px;
	cursor: pointer;
}
.rc-child-cats-toggle:hover {
	background: #f2f2f2;
	color: #1a1a1a;
}

/* ===========================================================================
 * 7. 导航下拉「全层级展开 + 锚定限高滚动」（§4.1：全层级展开，不限深、不限层数）
 *
 * 方案 A 改造（2026-10-11）—— 解决「低处下拉溢出屏幕、子项不可选」+「各层背景色相同」：
 *
 *  (a) 定位：让子面板以**父面板**为定位基准并**顶对齐**（把 ul.sub-menu 内的 li 设为
 *      position:static，令其不再成为子面板的定位基准）。于是面板不再"跟随悬停行往下长"，
 *      低处子项也不再溢出视口底部。选择器为**通用形式**，层数不限（3 层 / 4 层 / N 层同理）。
 *
 *  (b) 限高滚动：只对**叶子面板**（无更深 flyout）限高滚动 —— 非叶子面板一旦 overflow
 *      会裁掉更深层子菜单，故不可一律加。叶子标记由 inc/rc-cat-alias.php 运行时按实际
 *      DOM 判定（菜单可增删，硬匹配层数必失效）。
 *
 *  (c) 分层底色：各级背景色略有差异 + 左侧层级竖线，肉眼可一眼辨别层级（用户诉求）。
 *
 *  (d) 右缘保护：改由 JS 在**加载/缩放时**按几何**静态**计算：若某顶级下拉整条链
 *      （按该分支最大层数）向右展开会越界，则给该顶级面板设一个固定左移量，使最深
 *      面板仍并列可见、且不与父级遮挡。静态值不随 hover 变化，故悬停稳定、层数不限。
 * ========================================================================= */

/* ---- (a) 子面板锚定父面板顶部；li 不再作为定位基准 ---- */
#ast-desktop-header .main-header-menu ul.sub-menu > li {
	position: static;
}
/* 二级及更深：顶对齐父面板、紧邻父面板右缘（默认向右展开） */
#ast-desktop-header .main-header-menu ul.sub-menu ul.sub-menu {
	top: 0;
	left: 100%;
	right: auto;
}
/* 悬停 / 键盘聚焦展开（不限层数） */
#ast-desktop-header .main-header-menu ul.sub-menu li:hover > ul.sub-menu,
#ast-desktop-header .main-header-menu ul.sub-menu li.focus > ul.sub-menu {
	top: 0;
	left: 100%;
	right: auto;
	visibility: visible;
}

/* ---- (b) 叶子面板限高滚动（不限层数） ---- */
#ast-desktop-header .main-header-menu ul.sub-menu.rc-scrollable {
	max-height: calc(100vh - 150px);
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
}
/* 滚动条细化，避免遮挡菜单项 */
#ast-desktop-header .main-header-menu ul.sub-menu.rc-scrollable::-webkit-scrollbar {
	width: 8px;
}
#ast-desktop-header .main-header-menu ul.sub-menu.rc-scrollable::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.18);
	border-radius: 4px;
}

/* ---- (c) 分层底色（层数不限）----
 * 层深由 inc/rc-cat-alias.php 运行时按真实 DOM 写入 --rc-depth（1 = 第一级子面板），
 * 背景色用 hsl() 按层深计算：每深一层再暗约 3.5%。**不写死层数**，5 层 / 6 层 / N 层同理，
 * 每层颜色递增，肉眼可一眼辨别层级（用户诉求；含移动端点开式下拉）。 */
#ast-desktop-header .main-header-menu ul.sub-menu,
#ast-mobile-header .main-header-menu ul.sub-menu {
	background: hsl(212 34% calc(100% - (var(--rc-depth, 1) - 1) * 3.5%));
}
/* 左侧层级竖线，进一步区隔（对第 2 级及更深生效，不限层数） */
#ast-desktop-header .main-header-menu ul.sub-menu ul.sub-menu {
	border-left: 3px solid rgba(0, 0, 0, 0.06);
}

/* ---- (d) 右缘保护：左移量由 JS 在加载/缩放时静态写入顶级面板的 inline style.left ---- */

/* 移动端：**不加限高/滚动** —— Astra 手风琴本身按内容自然撑开、由抽屉容器滚动，全部层级可触达。
 * （实测：若在此给子面板加 overflow:auto，会把父级 <a> 撑高成一大片空白可点区，故不加。）
 * 移动端仅沿用上面的 hsl 分层底色（层数不限），与桌面口径一致。 */
