/* ===== 学术典雅主题 — 全局设计令牌 (2026-06-18) ===== */
/* 覆盖 Bootstrap 5.3 CSS 变量, 使全站组件自动变为暖米色+金棕风格 */
:root {
  /* 主点缀色: 金棕 (覆盖 Bootstrap primary 全套) */
  --bs-primary: #8a6d3b;
  --bs-primary-rgb: 138, 109, 59;
  --bs-primary-text-emphasis: #5c4827;
  --bs-primary-bg-subtle: #f3ede0;
  --bs-primary-border-subtle: #e4dcc9;
  --bs-link-color: #8a6d3b;
  --bs-link-color-rgb: 138, 109, 59;
  --bs-link-hover-color: #755c30;

  /* 表面与文字 */
  --bs-body-bg: #fbfaf7;
  --bs-body-color: #3a2f1f;
  --bs-secondary-color: #6b5d48;
  --bs-tertiary-color: #9a8c72;
  --bs-border-color: #ece7dd;
  --bs-border-color-translucent: rgba(58, 47, 31, .12);

  /* 形状 */
  --bs-border-radius: .65rem;       /* ~10.4px 默认控件 */
  --bs-border-radius-sm: .45rem;
  --bs-border-radius-lg: .85rem;    /* ~13.6px 卡片等大容器 */

  /* 衬线标题字体栈 (供下方 h1-h6 引用) */
  --cv-serif: Georgia, 'Times New Roman', 'Songti SC', 'SimSun', serif;
}

/* 衬线标题 */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--cv-serif);
  color: #3a2f1f;
  letter-spacing: .01em;
}

/* 页面底色兜底(部分页 body 带 .bg-light, 一并暖化) */
body.bg-light, .bg-light { background-color: #fbfaf7 !important; }

/* 链接默认色 */
a { color: #8a6d3b; }
a:hover { color: #755c30; }

body { font-size: .95rem; background: #fbfaf7; }
/* ===== 学术典雅主题 — 侧边栏 ===== */
.sidebar { min-height: calc(100vh - 48px); background: #fbfaf7 !important; border-right: 1px solid #ece7dd; }
.sidebar .nav-link { color: #6b5d48; border-radius: .55rem; padding: .4rem .85rem; margin: .1rem .5rem; display: flex; align-items: center; gap: .55rem; transition: background .12s, color .12s; }
.sidebar .nav-link:hover:not(.active) { background: #f3efe7; color: #3a2f1f; }
.sidebar .nav-link.active { background: #f3ede0; color: #8a6d3b; font-weight: 600; }
.sidebar .nav-link.active i { color: #8a6d3b; }
/* 紧凑分节标题 */
.sidebar .nav-head { padding: .6rem .85rem .15rem 1.1rem; margin: .35rem 0 0; letter-spacing: .06em; color: #a89a82 !important; }
/* 工具分组折叠 (原生 <details>) */
.sidebar details.tool-group > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .55rem; padding: .4rem .85rem; margin: .1rem .5rem; border-radius: .55rem; color: #6b5d48; user-select: none; transition: background .12s; }
.sidebar details.tool-group > summary::-webkit-details-marker { display: none; }
.sidebar details.tool-group > summary:hover { background: #f3efe7; color: #3a2f1f; }
.sidebar details.tool-group > summary .toolchev { margin-left: auto; font-size: .75rem; color: #c4b79c; transition: transform .15s; }
.sidebar details.tool-group[open] > summary .toolchev { transform: rotate(90deg); }
.sidebar details.tool-group .nav-link { padding-left: 2.1rem; font-size: .9rem; margin-left: .5rem; margin-right: .5rem; }
.field-pair { position: relative; }
.btn-translate { white-space: nowrap; }
.table td, .table th { vertical-align: middle; }
.drag-handle { cursor: grab; color: #adb5bd; }
.export-drag-handle { cursor: grab; color: #9b8b70; user-select: none; font-size: 1.1rem; }
.export-section-card.dragging { opacity: .55; border-style: dashed !important; }
.login-wrap { max-width: 380px; margin: 8vh auto; }
.snippet-card { cursor: pointer; }
.snippet-card.selected { border-color: #0d6efd; box-shadow: 0 0 0 .2rem rgba(13,110,253,.2); }
textarea.form-control { font-family: inherit; }
.text-pre { white-space: pre-wrap; }

/* ===== 学术典雅主题 — 组件细化 ===== */

/* 主按钮: 金棕实心 */
.btn-primary {
  --bs-btn-bg: #8a6d3b; --bs-btn-border-color: #8a6d3b;
  --bs-btn-hover-bg: #755c30; --bs-btn-hover-border-color: #755c30;
  --bs-btn-active-bg: #6a5329; --bs-btn-active-border-color: #6a5329;
  --bs-btn-disabled-bg: #b8a079; --bs-btn-disabled-border-color: #b8a079;
}
/* 描边主按钮: 金棕描边 */
.btn-outline-primary {
  --bs-btn-color: #8a6d3b; --bs-btn-border-color: #d8c9a8;
  --bs-btn-hover-bg: #8a6d3b; --bs-btn-hover-border-color: #8a6d3b;
  --bs-btn-active-bg: #755c30; --bs-btn-active-border-color: #755c30;
}
/* 描边次按钮: 暖灰中性, 融入主题(不偏冷) */
.btn-outline-secondary {
  --bs-btn-color: #6b5d48; --bs-btn-border-color: #d6cdbb;
  --bs-btn-hover-bg: #efeae0; --bs-btn-hover-border-color: #c9bda5; --bs-btn-hover-color: #4a3f2c;
  --bs-btn-active-bg: #e6dfd1; --bs-btn-active-border-color: #c9bda5; --bs-btn-active-color: #4a3f2c;
}

/* 卡片: 大圆角, 极淡描边, 默认几乎无阴影; hover 轻浮起 */
.card {
  border-color: #ece7dd;
  border-radius: .85rem;
}
.card.shadow-sm {
  box-shadow: 0 1px 2px rgba(58,47,31,.04) !important;
  transition: box-shadow .15s, transform .15s;
}
.card.shadow-sm:hover {
  box-shadow: 0 6px 18px rgba(58,47,31,.08) !important;
  transform: translateY(-1px);
}

/* 表格: 浅金表头, 暖色描边 */
.table {
  --bs-table-border-color: #f0eadf;
}
.table > thead th, .table > thead td {
  background: #faf7f1;
  color: #6b5d48;
  border-bottom-color: #ece7dd;
  font-weight: 600;
}

/* 表单控件: 暖白底, 金棕聚焦光晕 */
.form-control, .form-select {
  background-color: #fffdf9;
  border-color: #e4dcc9;
  color: #3a2f1f;
}
.form-control:focus, .form-select:focus {
  background-color: #fff;
  border-color: #c9b486;
  box-shadow: 0 0 0 .2rem rgba(138,109,59,.15);
}
.form-control::placeholder { color: #b3a890; }

/* 徽章: primary 徽章用金棕 */
.badge.bg-primary, .badge.text-bg-primary {
  background-color: #8a6d3b !important; color: #fff !important;
}

/* alert-primary 协调 */
.alert-primary {
  --bs-alert-color: #5c4827; --bs-alert-bg: #f3ede0; --bs-alert-border-color: #e4dcc9;
}

/* 选中卡片(snippet)描边改金棕, 替代旧蓝 */
.snippet-card.selected { border-color: #8a6d3b !important; box-shadow: 0 0 0 .2rem rgba(138,109,59,.2) !important; }

/* ===== 学术典雅主题 — 顶栏 ===== */
.cv-topbar { background: #fffdf9; border-bottom: 1px solid #ece7dd; box-shadow: 0 1px 3px rgba(58,47,31,.04); }
.cv-topbar .navbar-brand { color: #3a2f1f; font-family: var(--cv-serif); font-weight: 700; }
.cv-topbar .navbar-brand i { color: #8a6d3b; }
.cv-topbar, .cv-topbar .small, .cv-topbar .text-white { color: #6b5d48 !important; }
.cv-topbar .bi-person-circle { color: #8a6d3b; }

/* ===== 内容模块 拖拽排序 ===== */
.sidebar [data-nav-sortable] .tool-nav { cursor: grab; }
.sidebar [data-nav-sortable] .navgrip { opacity: .35; font-size: .85em; }
.sidebar [data-nav-sortable] .tool-nav:hover .navgrip { opacity: .8; }
.sidebar [data-nav-sortable] .tool-nav.opacity-50 { opacity: .5; }

/* ===== 内容模块 显示/隐藏面板(标题旁「⋯」) ===== */
.sidebar .nav-modhead { position: relative; }
.sidebar .nav-modtoggle { border: 0; background: transparent; color: #c4b79c; padding: 0 .15rem; line-height: 1; cursor: pointer; border-radius: .35rem; transition: color .12s, background .12s; }
.sidebar .nav-modtoggle:hover { color: #8a6d3b; background: #f3efe7; }
.sidebar .nav-modpanel { position: absolute; z-index: 1080; left: .5rem; right: .5rem; top: 100%; margin-top: .15rem; background: #fff; border: 1px solid #e7e0d3; border-radius: .55rem; box-shadow: 0 6px 20px rgba(60,47,31,.14); padding: .35rem; max-height: 60vh; overflow-y: auto; }
.sidebar .nav-modpanel-hd { font-size: .72rem; color: #a89a82; padding: .2rem .45rem .35rem; letter-spacing: .03em; }
.sidebar .nav-moditem { display: flex; align-items: center; gap: .5rem; padding: .3rem .45rem; margin: 0; border-radius: .4rem; cursor: pointer; color: #5a4d3a; font-size: .88rem; }
.sidebar .nav-moditem:hover { background: #f6f2ea; }
.sidebar .nav-moditem input { accent-color: #8a6d3b; cursor: pointer; flex: 0 0 auto; }
.sidebar .nav-moditem span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
