@charset "UTF-8";
/*
Theme Name: 云屉 Cloud Drawer
Theme URI: https://yunpan.cloud/
Description: 给云盘目录用的「文件管理器」子主题：盘符树 + 文件行 + 同步日志资讯流，浅色应用窗口界面。
Author: yunpan.cloud
Template: daohang
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: clouddrawer
Tags: two-columns, right-sidebar
*/

/* ==========================================================================
   0. 令牌
   ========================================================================== */
:root {
	--bay-bg: #eef2f8;
	--bay-grid: #dfe6f0;
	--bay-panel: #ffffff;
	--bay-panel-2: #f7f9fd;
	--bay-line: #d9e1ed;
	--bay-line-soft: #e8edf5;
	--bay-ink: #17223a;
	--bay-ink-2: #34425d;
	--bay-mut: #5b6880;
	--bay-faint: #5f6d85;
	--bay-azure: #2447d6;
	--bay-azure-d: #1a37ae;
	--bay-azure-w: #e9eeff;
	--bay-green: #087040;
	--bay-green-w: #e6f6ed;
	--bay-amber: #a45f00;
	--bay-amber-w: #fff3df;
	--bay-red: #b53028;
	--bay-red-w: #fdeceb;
	--bay-r: 12px;
	--bay-r-s: 8px;
	--bay-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
	--bay-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	--bay-shadow: 0 1px 2px rgba(23, 34, 58, .05), 0 10px 30px -18px rgba(23, 34, 58, .25);
}

/* ==========================================================================
   1. 基底
   ========================================================================== */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

.clouddrawer,
.clouddrawer body {
	background-color: var(--bay-bg);
	background-image:
		linear-gradient(var(--bay-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--bay-grid) 1px, transparent 1px);
	background-size: 28px 28px;
	background-attachment: fixed;
	color: var(--bay-ink);
	font: 14.5px/1.6 var(--bay-ui);
}

.clouddrawer *,
.clouddrawer *::before,
.clouddrawer *::after { box-sizing: border-box; }

.clouddrawer ::selection { background: var(--bay-azure); color: #fff; }

.clouddrawer a,
.clouddrawer a:visited { color: var(--bay-ink); text-decoration: none; }

.clouddrawer a:hover { color: var(--bay-azure); }

.clouddrawer img { max-width: 100%; height: auto; }

.clouddrawer .bay-window { min-height: 100vh; display: flex; flex-direction: column; }

.bay-wrap {
	width: min(1200px, calc(100% - 48px));
	margin-inline: auto;
}

.clouddrawer :focus-visible {
	outline: 2px solid var(--bay-azure);
	outline-offset: 2px;
	border-radius: 4px;
}

.bay-skip {
	position: absolute;
	left: -9999px;
	top: 8px;
	z-index: 200;
	background: var(--bay-azure);
	color: #fff !important;
	padding: 8px 14px;
	border-radius: 6px;
}

.bay-skip:focus { left: 12px; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ==========================================================================
   2. 窗口标题条
   ========================================================================== */
.bay-chrome {
	position: sticky;
	top: 0;
	z-index: 60;
	display: flex;
	align-items: center;
	gap: 14px;
	height: 34px;
	padding: 0 14px;
	background: #e3e9f3;
	border-bottom: 1px solid #cfd8e6;
	font: 11.5px/1 var(--bay-mono);
	color: #4c5a72;
}

.bay-dots { display: flex; gap: 6px; flex: 0 0 auto; }

.bay-dots i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #c3ccdb;
}

.bay-dots i:nth-child(1) { background: #ef6a5e; }
.bay-dots i:nth-child(2) { background: #f0bb4c; }
.bay-dots i:nth-child(3) { background: #5fc27c; }

.bay-addr {
	flex: 1 1 auto;
	max-width: 460px;
	display: flex;
	align-items: center;
	gap: 7px;
	height: 22px;
	padding: 0 12px;
	background: #f5f8fc;
	border: 1px solid #d5dded;
	border-radius: 6px;
	overflow: hidden;
	white-space: nowrap;
}

.bay-lock { color: var(--bay-green); font-size: 8px; }

.bay-slash { color: #6d7a90; }

.bay-conn { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; color: var(--bay-green); white-space: nowrap; }

.bay-conn i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--bay-green);
	box-shadow: 0 0 0 3px rgba(11, 138, 75, .14);
}

.bay-clock { color: #4c5a72; white-space: nowrap; }

/* ==========================================================================
   3. 站头
   ========================================================================== */
.bay-header { background: rgba(255, 255, 255, .94); border-bottom: 1px solid var(--bay-line-soft); backdrop-filter: blur(8px); }

.bay-mast {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: 72px;
}

.bay-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }

.bay-logo { display: block; width: 34px; height: 34px; flex: 0 0 auto; }

.bay-logo img { width: 34px; height: 34px; border-radius: 9px; object-fit: cover; display: block; }

.bay-logo-text {
	display: grid;
	place-items: center;
	background: var(--bay-azure);
	color: #fff;
	border-radius: 9px;
	font-size: 20px;
}

.bay-name { display: flex; flex-direction: column; min-width: 0; }

.bay-name a { font-size: 19px; font-weight: 700; letter-spacing: .04em; line-height: 1.15; }

.bay-name small { color: var(--bay-mut); font: 10px/1.5 var(--bay-mono); letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }

.bay-search { position: relative; flex: 0 1 360px; }

.bay-search input {
	width: 100%;
	height: 38px;
	padding: 0 44px 0 14px;
	background: var(--bay-panel-2);
	border: 1px solid var(--bay-line);
	border-radius: 8px;
	font: inherit;
	font-size: 13px;
	color: var(--bay-ink);
}

.bay-search input::placeholder { color: var(--bay-faint); }

.bay-search input:focus { background: #fff; border-color: var(--bay-azure); outline: none; box-shadow: 0 0 0 3px var(--bay-azure-w); }

.bay-search button {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 31px;
	height: 30px;
	border: 0;
	display: grid;
	place-items: center;
	border-radius: 6px;
	background: var(--bay-azure);
	color: #fff;
	font-size: 13px;
	cursor: pointer;
}

.bay-search button:hover { background: var(--bay-azure-d); }

/* ==========================================================================
   4. 主导航
   ========================================================================== */
.bay-nav { background: #fff; border-bottom: 1px solid var(--bay-line); box-shadow: 0 6px 18px -18px rgba(23, 34, 58, .5); }

.bay-nav .bay-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

.bay-nav ul {
	display: flex;
	align-items: stretch;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.bay-nav ul::-webkit-scrollbar { display: none; }

.bay-nav li { flex: 0 0 auto; }

.bay-nav a {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 44px;
	padding: 0 12px;
	border-bottom: 2px solid transparent;
	color: var(--bay-ink-2) !important;
	font-size: 13.5px;
	white-space: nowrap;
}

.bay-nav a:hover { background: var(--bay-panel-2); color: var(--bay-azure) !important; }

.bay-nav li.is-on a { border-bottom-color: var(--bay-azure); color: var(--bay-azure) !important; font-weight: 600; }

.bay-nav a b {
	min-width: 19px;
	padding: 1px 6px;
	border-radius: 99px;
	background: var(--bay-line-soft);
	color: var(--bay-mut);
	font: 10.5px/1.6 var(--bay-mono);
	text-align: center;
}

.bay-nav li.is-on a b { background: var(--bay-azure-w); color: var(--bay-azure); }

.bay-nav-news { margin-left: 6px; }

.bay-new {
	padding: 2px 5px;
	border-radius: 4px;
	background: var(--bay-amber-w);
	color: var(--bay-amber);
	font: 9px/1.2 var(--bay-mono);
	letter-spacing: .1em;
}

.bay-nav-meta { color: var(--bay-faint); font: 10.5px/1 var(--bay-mono); letter-spacing: .08em; white-space: nowrap; }

/* ==========================================================================
   5. 内容容器
   ========================================================================== */
.bay-content { flex: 1 0 auto; padding: 22px 0 44px; }

/* ==========================================================================
   6. 资讯 / 同步日志
   ========================================================================== */
.bay-log {
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-left: 3px solid var(--bay-azure);
	border-radius: var(--bay-r);
	box-shadow: var(--bay-shadow);
	margin-bottom: 18px;
	overflow: hidden;
}

.bay-log-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 18px;
	border-bottom: 1px solid var(--bay-line-soft);
	background: linear-gradient(var(--bay-panel-2), #fff);
}

.bay-log-head h2 {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	display: flex;
	align-items: center;
	gap: 8px;
}

.bay-log-head h2 em { font: normal 10px/1 var(--bay-mono); letter-spacing: .18em; color: var(--bay-faint); }

.bay-log-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--bay-green);
	box-shadow: 0 0 0 3px var(--bay-green-w);
	animation: bay-pulse 2.4s ease-in-out infinite;
}

@keyframes bay-pulse {
	50% { box-shadow: 0 0 0 6px rgba(11, 138, 75, .06); }
}

.bay-log-all { font: 11px/1 var(--bay-mono); color: var(--bay-mut) !important; white-space: nowrap; }

.bay-log-all:hover { color: var(--bay-azure) !important; }

.bay-log-all b { color: var(--bay-azure); }

.bay-log-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0;
	padding: 4px 8px;
	list-style: none;
}

.bay-log-list li {
	display: grid;
	grid-template-columns: 78px 56px minmax(0, 1fr);
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border-bottom: 1px dashed var(--bay-line-soft);
	border-radius: 6px;
}

.bay-log-list li:nth-last-child(-n+2) { border-bottom: 0; }

.bay-log-list li:hover { background: var(--bay-panel-2); }

.bay-log-list time { font: 10.5px/1 var(--bay-mono); color: var(--bay-faint); }

.bay-log-list a {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 13px;
	color: var(--bay-ink-2) !important;
}

.bay-log-list a:hover { color: var(--bay-azure) !important; }

.bay-tag {
	justify-self: start;
	padding: 2px 6px;
	border-radius: 4px;
	background: var(--bay-azure-w);
	color: var(--bay-azure);
	font: 9.5px/1.4 var(--bay-mono);
	letter-spacing: .08em;
	white-space: nowrap;
}

.bay-tag-评测 { background: var(--bay-green-w); color: var(--bay-green); }
.bay-tag-公告 { background: var(--bay-amber-w); color: var(--bay-amber); }
.bay-tag-安全 { background: var(--bay-red-w); color: var(--bay-red); }
.bay-tag-工具,
.bay-tag-自建 { background: #eef0f6; color: #55627a; }

.bay-log-empty { margin: 0; padding: 16px 18px; color: var(--bay-mut); font-size: 13px; }

/* ==========================================================================
   7. 双栏：盘符树 + 目录
   ========================================================================== */
.bay-body {
	display: grid;
	grid-template-columns: 248px minmax(0, 1fr);
	align-items: start;
	gap: 18px;
}

.bay-tree {
	position: sticky;
	top: 52px;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: var(--bay-r);
	box-shadow: var(--bay-shadow);
	padding: 12px 10px 14px;
}

.bay-tree-label {
	margin: 2px 8px 10px;
	font: 10px/1 var(--bay-mono);
	letter-spacing: .18em;
	color: var(--bay-faint);
	text-transform: uppercase;
}

.bay-tree ul { margin: 0; padding: 0; list-style: none; }

.bay-tree li + li { margin-top: 2px; }

.bay-tree a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 36px;
	padding: 0 9px;
	border-radius: 7px;
	color: var(--bay-ink-2) !important;
	font-size: 13px;
}

.bay-tree a:hover { background: var(--bay-panel-2); color: var(--bay-azure) !important; }

.bay-tree li.is-on a { background: var(--bay-azure-w); color: var(--bay-azure) !important; font-weight: 600; }

.bay-tree li.is-on a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	bottom: 8px;
	width: 2px;
	border-radius: 2px;
	background: var(--bay-azure);
}

.bay-drive {
	position: relative;
	width: 17px;
	height: 13px;
	flex: 0 0 auto;
	border: 1.5px solid #98a6bd;
	border-radius: 3px;
	background: #fff;
}

.bay-drive:after {
	content: "";
	position: absolute;
	left: 2px;
	right: 2px;
	bottom: 2px;
	height: 2px;
	border-radius: 1px;
	background: #c3cddd;
}

.bay-tree li.is-on .bay-drive { border-color: var(--bay-azure); }

.bay-drive-all { border-width: 1.5px; box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #c3cddd; }

.bay-tree-name { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bay-tree a b { font: 10.5px/1 var(--bay-mono); color: var(--bay-faint); }

.bay-tree li.is-on a b { color: var(--bay-azure); }

.bay-cap {
	position: absolute;
	left: 9px;
	right: 9px;
	bottom: 3px;
	height: 2px;
	border-radius: 2px;
	background: var(--bay-line-soft);
	overflow: hidden;
}

.bay-cap:after {
	content: "";
	display: block;
	width: var(--w, 20%);
	height: 100%;
	background: #b9c6da;
}

.bay-tree li.is-on .bay-cap:after { background: var(--bay-azure); }

.bay-tree-foot {
	margin: 14px 8px 0;
	padding-top: 11px;
	border-top: 1px dashed var(--bay-line);
	color: var(--bay-faint);
	font-size: 11px;
	line-height: 1.5;
}

/* 列头 */
.bay-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 14px 9px 11px;
	color: var(--bay-faint);
	font: 10.5px/1 var(--bay-mono);
	letter-spacing: .1em;
}

.bay-bar-title { flex: 1 1 auto; }

.bay-bar-kind { flex: 0 0 auto; padding-right: 16px; }

/* ==========================================================================
   8. 盘符（栏目）与文件行
   ========================================================================== */
.bay-folders { min-width: 0; }

.bay-folders .section-links {
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: var(--bay-r);
	box-shadow: var(--bay-shadow);
	margin: 0 0 16px;
	overflow: hidden;
}

.bay-folders .section-header {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 56px 12px 46px;
	border-bottom: 1px solid var(--bay-line-soft);
	background: linear-gradient(var(--bay-panel-2), #fff);
}

.bay-folders .section-header:before {
	content: "";
	position: absolute;
	left: 18px;
	top: 13px;
	width: 17px;
	height: 12px;
	background: var(--bay-azure);
	border-radius: 3px;
}

.bay-folders .section-header:after {
	content: "";
	position: absolute;
	left: 18px;
	top: 10px;
	width: 8px;
	height: 5px;
	background: var(--bay-azure);
	border-radius: 2px 2px 0 0;
}

.bay-folders .widget-title { margin: 0; font-size: 15px; line-height: 1.4; }

.bay-folders .widget-title a { color: var(--bay-ink) !important; font-weight: 700; }

.bay-folders .widget-title a:hover { color: var(--bay-azure) !important; }

.bay-folders .sub-categories { display: none; }

.bay-fcount {
	padding: 2px 7px;
	border-radius: 99px;
	background: var(--bay-line-soft);
	color: var(--bay-mut);
	font: 10px/1.5 var(--bay-mono);
}

.bay-folders .section-more {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 12px;
}

.bay-folders .section-more a { color: var(--bay-mut) !important; }

.bay-folders .section-more a:hover { color: var(--bay-azure) !important; }

.bay-folders .section-links-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 6px;
}

.bay-folders .link-item { float: none; width: auto !important; }

.bay-folders .link-item a {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 92px 16px;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 10px;
	min-height: 58px;
	padding: 8px 10px;
	border-radius: 8px;
	border: 1px solid transparent;
}

.bay-folders .link-item:nth-child(odd) a { background: #fbfcfe; }

.bay-folders .link-item a:hover { background: var(--bay-azure-w) !important; border-color: #cfdaff; }

.bay-folders .link-item img {
	float: none;
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 32px;
	height: 32px;
	margin: 0;
	border-radius: 7px;
	object-fit: cover;
	background: var(--bay-panel-2);
	border: 1px solid var(--bay-line-soft);
}

.bay-folders .link-title {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--bay-ink) !important;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.bay-folders .link-item a:hover .link-title { color: var(--bay-azure) !important; }

.bay-folders .link-desc {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	margin: 1px 0 0;
	font: 10.5px/1.4 var(--bay-mono);
	color: var(--bay-faint) !important;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
}

/* 类型标签 */
.bay-kind {
	grid-column: 3;
	grid-row: 1 / span 2;
	justify-self: start;
	padding: 2px 7px;
	border-radius: 4px;
	background: var(--bay-panel-2);
	border: 1px solid var(--bay-line-soft);
	color: var(--bay-mut);
	font: 10px/1.5 var(--bay-mono);
	white-space: nowrap;
}

.bay-folders .link-item a:hover .bay-kind { border-color: #cfdaff; color: var(--bay-azure); }

.bay-open {
	grid-column: 4;
	grid-row: 1 / span 2;
	justify-self: center;
	font-size: 14px;
	color: var(--bay-faint);
	opacity: .35;
	transform: translate(-2px, 2px);
	transition: .15s ease;
}

.bay-folders .link-item a:hover .bay-open { opacity: 1; transform: none; color: var(--bay-azure); }

.bay-folders .link-item.no-desc .link-title { grid-row: 1 / span 2; align-self: center; }

/* 首页主列自己不是卡片，卡片交给各盘符分组 */
.bay-body .bay-main#primary:not(.bay-doc) {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* ==========================================================================
   9. 内页 / 链接详情
   ========================================================================== */
.clouddrawer #content { position: relative; }

.clouddrawer #primary {
	float: left;
	width: 800px;
	margin: 0 28px 0 0;
	padding: 26px 28px;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: var(--bay-r);
	box-shadow: var(--bay-shadow);
}

.clouddrawer .sidebar {
	float: right;
	width: 300px;
}

.clouddrawer .sidebar .widget {
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: var(--bay-r);
	box-shadow: var(--bay-shadow);
	padding: 16px;
	margin-bottom: 16px;
	font-size: 13px;
}

.clouddrawer .sidebar .widget-title,
.clouddrawer .sidebar .widget h2 {
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 1px dashed var(--bay-line);
	font: 11px/1.4 var(--bay-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bay-mut);
}

.clouddrawer .sidebar .widget ul { margin: 0; padding: 0; list-style: none; }

.clouddrawer .sidebar .widget li + li { border-top: 1px dashed var(--bay-line-soft); }

.clouddrawer .sidebar .widget li a { display: block; padding: 7px 0; font-size: 13px; }

.breadcrumbs,
.single-breadcrumbs {
	margin: 0 0 16px;
	padding: 8px 12px;
	background: var(--bay-panel-2);
	border: 1px solid var(--bay-line-soft);
	border-radius: 7px;
	font: 11.5px/1.5 var(--bay-mono);
	color: var(--bay-mut) !important;
}

.breadcrumbs a,
.single-breadcrumbs a { color: var(--bay-mut) !important; }

.breadcrumbs h1 { margin: 0; font: inherit; color: var(--bay-ink); }

.entry-title,
h1.entry-title {
	margin: 0 0 14px;
	font-size: 26px;
	line-height: 1.35;
	letter-spacing: -.01em;
}

.entry-title a { color: var(--bay-ink) !important; }

.entry-meta {
	margin-bottom: 16px;
	color: var(--bay-faint);
	font: 11px/1.5 var(--bay-mono);
}

.entry-meta a { color: var(--bay-mut) !important; }

.entry-content { font-size: 15px; line-height: 1.8; color: var(--bay-ink-2); }

.entry-content p { margin: 0 0 1.1em; }

.entry-content a { color: var(--bay-azure) !important; text-decoration: underline; text-underline-offset: 3px; }

.entry-content h2,
.entry-content h3 { line-height: 1.4; margin: 1.4em 0 .6em; }

.entry-content img { border-radius: var(--bay-r-s); border: 1px solid var(--bay-line); }

.entry-content blockquote {
	margin: 1.2em 0;
	padding: 12px 16px;
	border-left: 3px solid var(--bay-azure);
	background: var(--bay-panel-2);
	color: var(--bay-mut);
}

/* 链接详情里的外链按钮 */
.link-single .link-url,
.single-links .link-url,
.entry-content .link-button {
	display: inline-block;
	padding: 9px 16px;
	border-radius: 7px;
	background: var(--bay-azure) !important;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 13px;
}

/* 相关链接 */
.related-links,
.content-related {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--bay-line);
}

.related-links h3,
.content-related h3 { font-size: 13px; letter-spacing: .06em; color: var(--bay-mut); }

/* 分页 */
.pagination,
.page-links,
.navigation {
	margin-top: 22px;
	font: 12px/1 var(--bay-mono);
}

.pagination a,
.page-numbers,
.nav-links a {
	display: inline-grid;
	place-items: center;
	min-width: 32px;
	height: 32px;
	padding: 0 10px;
	margin-right: 4px;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: 6px;
}

.pagination .current,
.page-numbers.current { background: var(--bay-azure); border-color: var(--bay-azure); color: #fff; }

/* 搜索 / 归档列表 */
.content-loop .post,
.search-results .content-loop > div {
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: var(--bay-r);
	padding: 16px 18px;
	margin-bottom: 12px;
}

.content-loop .entry-title { font-size: 18px; margin-bottom: 6px; }

/* ==========================================================================
   10. 404
   ========================================================================== */
.error-404 #primary { width: 100%; float: none; margin: 0; }

.error-404 .page-content { color: var(--bay-mut); }

.error-404 .entry-title { font: 700 64px/1 var(--bay-mono); letter-spacing: .06em; color: var(--bay-line); }

.error-404 .search-input { height: 38px; border: 1px solid var(--bay-line); border-radius: 7px; padding: 0 12px; }

/* ==========================================================================
   11. 评论
   ========================================================================== */
.comments-area { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--bay-line); }

.comments-area fieldset { margin: 0; padding: 0; border: 0; }

.comment-reply-title,
#reply-title { margin: 0 0 4px; font: 600 12px/1.6 var(--bay-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--bay-mut); }

.comment-notes, .logged-in-as, .comment-form label { color: var(--bay-faint); font: 11.5px/1.5 var(--bay-mono); }

.comment-form label { display: block; margin-bottom: 4px; }

.comment-form p { margin: 0 0 12px; }

.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }

.comment-form-cookies-consent label { margin: 0; }

.comment-list { margin: 0; padding: 0; list-style: none; }

.comment-list li { padding: 14px 0; border-bottom: 1px dashed var(--bay-line-soft); }

.comment-list .comment-author { font-size: 13px; font-weight: 600; }

.comment-list .comment-meta { color: var(--bay-faint); font: 11px/1.5 var(--bay-mono); }

.comment-list .children { margin: 0 0 0 18px; padding: 0; list-style: none; }

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 9px 11px;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: 7px;
	color: var(--bay-ink);
	font: inherit;
}

.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--bay-azure);
	box-shadow: 0 0 0 3px var(--bay-azure-w);
}

.comment-form .submit,
button[type="submit"] {
	padding: 9px 18px;
	border: 0;
	border-radius: 7px;
	background: var(--bay-azure);
	color: #fff;
	font: inherit;
	cursor: pointer;
}

/* ==========================================================================
   12. 页脚
   ========================================================================== */
.bay-footer {
	margin-top: auto;
	background: #141e33;
	color: #b9c4d8;
	border-top: 3px solid var(--bay-azure);
}

.bay-footer .bay-wrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 26px;
	padding: 20px 0;
	font: 11px/1.6 var(--bay-mono);
	letter-spacing: .04em;
}

.bay-led { display: inline-flex; align-items: center; gap: 7px; color: #7fe0a6; }

.bay-led i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #46d98a;
	box-shadow: 0 0 0 3px rgba(70, 217, 138, .16);
}

.bay-foot-meta { color: #8fa0bd; }

.bay-foot-brand { margin-left: auto; color: #d7e0f0; }

.bay-foot-mail a { color: #d7e0f0; border-bottom: 1px dotted #56698c; }

.bay-foot-mail a:hover { color: #fff; }

/* 返回顶部 */
.bottom-right { right: 22px; bottom: 22px; }

#back-top a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	background: var(--bay-ink);
	color: #fff !important;
	border-radius: 7px;
	font: 11px/1 var(--bay-mono);
	opacity: .92;
}

#back-top a:hover { background: var(--bay-azure); }

/* ==========================================================================
   13. 内页组件：路径、文件详情、目录、日志归档
   ========================================================================== */
.bay-path {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 14px;
	padding: 7px 12px;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line-soft);
	border-radius: 7px;
	font: 11.5px/1.5 var(--bay-mono);
	color: var(--bay-faint);
}

.bay-path a { color: var(--bay-mut) !important; }

.bay-path a:hover { color: var(--bay-azure) !important; }

.bay-path-sep { color: var(--bay-line); }

.bay-path-here {
	max-width: 46ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--bay-ink);
}

.bay-body .bay-main#primary.bay-doc {
	float: none;
	width: 100%;
	min-width: 0;
	max-width: 840px;
	margin-inline: auto;
	padding: 24px 28px 30px;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: var(--bay-r);
	box-shadow: var(--bay-shadow);
}

/* 文件详情 */
.bay-file-head {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 18px;
	border-bottom: 1px dashed var(--bay-line);
}

.bay-file-ico {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	padding: 6px;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--bay-line);
	border-radius: 12px;
}

.bay-file-ico-txt {
	display: grid;
	place-items: center;
	padding: 0;
	background: var(--bay-azure-w);
	border-color: transparent;
	color: var(--bay-azure);
	font: 700 22px/1 var(--bay-ui);
}

.bay-file-id { flex: 1 1 auto; min-width: 0; }

.bay-file-name { margin: 0 0 4px; font-size: 24px; line-height: 1.3; }

.bay-file-url { margin: 0; color: var(--bay-faint); font: 12px/1.5 var(--bay-mono); word-break: break-all; }

.bay-kind-lg { padding: 4px 10px; font-size: 11px; }

.bay-file-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 18px; }

.bay-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border-radius: 8px;
	background: var(--bay-azure);
	color: #fff !important;
	font-size: 13.5px;
	font-weight: 600;
	box-shadow: 0 6px 16px -8px var(--bay-azure);
}

.bay-cta:hover { background: var(--bay-azure-d); color: #fff !important; }

.bay-cta-sm { padding: 8px 16px; font-size: 13px; }

.bay-file-note { color: var(--bay-faint); font: 11px/1.5 var(--bay-mono); }

.bay-file-lede {
	margin: 18px 0 0;
	padding: 12px 16px;
	background: var(--bay-panel-2);
	border-left: 3px solid var(--bay-azure);
	border-radius: 0 8px 8px 0;
	color: var(--bay-ink-2);
}

.bay-file-body { margin-top: 16px; }

.bay-file-foot {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 22px;
	padding-top: 14px;
	border-top: 1px dashed var(--bay-line);
	color: var(--bay-faint);
	font: 11.5px/1.5 var(--bay-mono);
}

.bay-file-back { margin-left: auto; color: var(--bay-mut) !important; }

.bay-file-edit a { color: var(--bay-faint) !important; }

/* 目录头 */
.bay-dir {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--bay-line);
}

.bay-dir-ico {
	position: relative;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	background: var(--bay-azure-w);
	border: 1px solid #ccd7f8;
	border-radius: 10px;
}

.bay-dir-ico:before {
	content: "";
	position: absolute;
	left: 9px;
	top: 13px;
	width: 26px;
	height: 17px;
	background: var(--bay-azure);
	border-radius: 3px;
	opacity: .8;
}

.bay-dir-ico:after {
	content: "";
	position: absolute;
	left: 9px;
	top: 9px;
	width: 12px;
	height: 6px;
	background: var(--bay-azure);
	border-radius: 3px 3px 0 0;
	opacity: .8;
}

.bay-dir-ico-log:before {
	width: 22px;
	height: 3px;
	box-shadow: 0 6px 0 var(--bay-azure), 0 12px 0 var(--bay-azure);
	background: var(--bay-azure);
	border-radius: 2px;
}

.bay-dir-ico-log:after { display: none; }

.bay-dir-ico-search:before {
	width: 18px;
	height: 18px;
	background: transparent;
	border: 3px solid var(--bay-azure);
	border-radius: 50%;
}

.bay-dir-ico-search:after {
	width: 10px;
	height: 3px;
	background: var(--bay-azure);
	transform: rotate(45deg);
	left: 25px;
	top: 29px;
	border-radius: 2px;
}

.bay-dir-id { flex: 1 1 auto; min-width: 0; }

.bay-dir-name { margin: 0 0 3px; font-size: 22px; line-height: 1.35; }

.bay-dir-meta { margin: 0; color: var(--bay-faint); font: 11.5px/1.5 var(--bay-mono); }

.bay-dir-lede { margin: 14px 0 0; color: var(--bay-mut); font-size: 13.5px; }

/* 行列表 */
.bay-rows { margin: 0; padding: 0; list-style: none; }

.bay-row + .bay-row { border-top: 1px solid var(--bay-line-soft); }

.bay-row a {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 92px 16px;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 10px;
	min-height: 56px;
	padding: 8px 10px;
	border: 1px solid transparent;
	border-radius: 8px;
}

.bay-row a:hover { background: var(--bay-panel-2); border-color: var(--bay-line-soft); }

.bay-row img,
.bay-row-ico {
	grid-column: 1;
	grid-row: 1 / span 2;
	justify-self: center;
	width: 30px;
	height: 30px;
	object-fit: contain;
	border-radius: 7px;
}

.bay-row-ico {
	display: grid;
	place-items: center;
	background: var(--bay-panel-2);
	border: 1px solid var(--bay-line);
	color: var(--bay-mut);
	font: 700 13px/1 var(--bay-ui);
}

.bay-row-ico-log { color: var(--bay-azure); }

.bay-row-name {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 600;
}

.bay-row-desc {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--bay-faint);
	font: 11.5px/1.5 var(--bay-mono);
}

.bay-row .bay-kind { grid-column: 3; grid-row: 1 / span 2; justify-self: start; }

.bay-row .bay-open { grid-column: 4; grid-row: 1 / span 2; }

.bay-row.no-desc .bay-row-name { grid-row: 1 / span 2; align-self: center; }

/* 同目录 */
.bay-rel { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--bay-line); }

.bay-rel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 6px; }

.bay-rel-head h2 { margin: 0; color: var(--bay-mut); font: 10.5px/1.6 var(--bay-mono); letter-spacing: .12em; }

.bay-rel-head a { color: var(--bay-faint) !important; font: 11px/1.6 var(--bay-mono); }

/* 上下条 */
.bay-adj { display: flex; gap: 12px; margin-top: 24px; }

.bay-adj span { flex: 1 1 0; min-width: 0; }

.bay-adj-next { text-align: right; }

.bay-adj a {
	display: block;
	padding: 10px 14px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: 8px;
	font-size: 12.5px;
}

.bay-adj a:hover { border-color: var(--bay-azure); }

/* 资讯正文 */
.bay-post-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	color: var(--bay-faint);
	font: 11px/1.5 var(--bay-mono);
}

.bay-post-log { margin-left: auto; letter-spacing: .12em; }

.bay-post-title { margin: 12px 0 0; font-size: 27px; line-height: 1.35; letter-spacing: -.01em; }

.bay-post-lede {
	margin: 14px 0 0;
	padding: 12px 16px;
	background: var(--bay-panel-2);
	border-left: 3px solid var(--bay-azure);
	border-radius: 0 8px 8px 0;
	color: var(--bay-ink-2);
}

.bay-post-body { margin-top: 20px; }

.bay-post-foot {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 26px;
	padding-top: 14px;
	border-top: 1px dashed var(--bay-line);
	color: var(--bay-faint);
	font: 11.5px/1.5 var(--bay-mono);
}

.bay-post-back { margin-left: auto; color: var(--bay-mut) !important; }

.bay-post-tags a {
	color: var(--bay-mut) !important;
	border-bottom: 1px dotted var(--bay-line);
}

/* 日志归档 */
.bay-log-archive { margin: 0; padding: 0; list-style: none; }

.bay-log-archive li + li { border-top: 1px solid var(--bay-line-soft); }

.bay-log-row {
	display: grid;
	grid-template-columns: 86px 52px minmax(0, 1fr) 16px;
	align-items: start;
	gap: 10px;
	padding: 14px 8px;
}

.bay-log-row time { grid-column: 1; color: var(--bay-faint); font: 11px/1.9 var(--bay-mono); white-space: nowrap; }

.bay-log-row .bay-tag { grid-column: 2; justify-self: start; }

.bay-log-row .bay-log-body { grid-column: 3; min-width: 0; }

.bay-log-row h2 { margin: 0; font-size: 15.5px; line-height: 1.5; }

.bay-log-row p { margin: 4px 0 0; color: var(--bay-mut); font-size: 12.5px; }

.bay-log-row .bay-open { grid-column: 4; grid-row: 1; justify-self: center; margin-top: 4px; }

.bay-log-row:hover .bay-open { opacity: 1; }

/* 空状态 */
.bay-empty { padding: 44px 20px; text-align: center; color: var(--bay-mut); }

.bay-empty-code { margin: 0 0 6px; color: #7d8ca4; font: 700 56px/1 var(--bay-mono); letter-spacing: .06em; }

.bay-empty h1 { margin: 0 0 8px; color: var(--bay-ink); font-size: 20px; }

.bay-empty p { margin: 0 0 14px; }

.bay-empty a:not(.bay-cta) { color: var(--bay-azure) !important; }

.bay-empty-404 .bay-search-page { max-width: 420px; margin: 0 auto 16px; }

/* 内页搜索框 */
.bay-search-page { display: flex; gap: 8px; max-width: 640px; margin: 16px 0 6px; }

.bay-search-page input {
	flex: 1 1 auto;
	min-width: 0;
	height: 38px;
	padding: 0 12px;
	background: var(--bay-panel);
	border: 1px solid var(--bay-line);
	border-radius: 7px;
	color: var(--bay-ink);
	font: inherit;
}

.bay-search-page button {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: auto;
	min-width: 64px;
	height: 38px;
	padding: 0 16px;
	border-radius: 7px;
}

.bay-search-page button:hover { background: var(--bay-azure-d); }

/* ==========================================================================
   14. 响应式
   ========================================================================== */
@media (max-width: 1023px) {
	.bay-body { grid-template-columns: 1fr; }

	.bay-tree { position: static; display: flex; align-items: center; gap: 10px; padding: 8px 10px; overflow-x: auto; scrollbar-width: none; }

	.bay-tree::-webkit-scrollbar { display: none; }

	.bay-tree-label,
	.bay-tree-foot { display: none; }

	.bay-tree ul { display: flex; gap: 6px; }

	.bay-tree li { flex: 0 0 auto; }

	.bay-tree li + li { margin-top: 0; }

	.bay-tree a { min-height: 30px; padding: 0 10px; border: 1px solid var(--bay-line); border-radius: 99px; background: #fff; }

	.bay-tree li.is-on a:before,
	.bay-cap { display: none; }

	.clouddrawer #primary { width: 100%; float: none; margin: 0; }

	.clouddrawer .sidebar { width: 100%; float: none; margin-top: 16px; }
}

@media (max-width: 860px) {
	.bay-nav-meta { display: none; }

	.bay-log-list { grid-template-columns: 1fr; }

	.bay-log-list li:nth-last-child(2) { border-bottom: 1px dashed var(--bay-line-soft); }

	.bay-log-list li:last-child { border-bottom: 0; }

	.bay-folders .section-links-wrap { grid-template-columns: 1fr; }

	.bay-folders .link-item:nth-child(odd) a { background: transparent; }

	.bay-log-row { grid-template-columns: 72px 48px minmax(0, 1fr) 16px; }
}

@media (max-width: 640px) {
	.bay-wrap { width: calc(100% - 28px); }

	.bay-chrome { gap: 9px; padding: 0 10px; }

	.bay-addr { max-width: none; }

	.bay-clock { display: none; }

	.bay-conn { font-size: 10px; }

	.bay-mast { height: auto; padding: 13px 0; flex-wrap: wrap; gap: 10px; }

	.bay-name small { letter-spacing: .08em; }

	.bay-search { flex: 1 1 100%; }

	.bay-nav a { height: 40px; padding: 0 10px; font-size: 13px; }

	.bay-content { padding-top: 14px; }

	.bay-log-list li {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"time tag"
			"title title";
		gap: 5px 8px;
		padding: 9px 10px;
	}

	.bay-log-list time { grid-area: time; }

	.bay-log-list .bay-tag { grid-area: tag; }

	.bay-log-list a {
		grid-area: title;
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		line-height: 1.5;
	}

	.bay-folders .section-header { padding-left: 42px; }

	.bay-bar,
	.bay-folders .link-item a { grid-template-columns: 34px minmax(0, 1fr) 16px; }

	.bay-bar-title { grid-column: 1 / span 2; }

	.bay-bar-kind,
	.bay-bar-note,
	.bay-kind { display: none; }

	.bay-open { grid-column: 3; }

	.clouddrawer #primary { padding: 18px; }

	.bay-footer .bay-wrap { padding: 16px 0; }

	.bay-foot-brand { margin-left: 0; }

	.entry-title, h1.entry-title { font-size: 21px; }

	.bay-body .bay-main.bay-doc { padding: 18px 16px 24px; }

	.bay-path { font-size: 11px; }

	.bay-path-here { max-width: 26ch; }

	.bay-file-head { gap: 12px; }

	.bay-file-ico { width: 46px; height: 46px; }

	.bay-file-name { font-size: 20px; }

	.bay-file-actions .bay-file-note { flex: 1 1 100%; }

	.bay-dir { flex-wrap: wrap; }

	.bay-dir-name { font-size: 19px; }

	.bay-dir-ico { width: 38px; height: 38px; }

	.bay-dir-ico:before { left: 7px; top: 12px; }

	.bay-dir-ico:after { left: 7px; top: 8px; }

	.bay-dir-ico-search:after { left: 22px; top: 25px; }

	.bay-row a { grid-template-columns: 34px minmax(0, 1fr) 16px; }

	.bay-row .bay-open { grid-column: 3; }

	.bay-post-title { font-size: 21px; }

	.bay-adj { flex-direction: column; }

	.bay-adj-next { text-align: left; }

	.bay-log-row { grid-template-columns: 78px 46px minmax(0, 1fr); gap: 8px; }

	.bay-log-row .bay-open { display: none; }

	.bay-empty-code { font-size: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	.bay-log-dot { animation: none; }
}
