/*
 * 深色模式 —— 跟随操作系统的「浅色 / 深色」偏好自动切换。
 * 仅在系统处于深色模式时生效；浅色模式下本文件内规则全部不应用，保持原样式。
 * 基于 Bootstrap 5.1.3（该版本无内置 data-bs-theme 主题，故在此手动覆盖组件配色）。
 */
@media (prefers-color-scheme: dark) {
  :root {
    --bs-body-bg: #1a1d21;
    --bs-body-color: #e6e6e6;
    --bs-border-color: #3a3f44;
  }

  /* 基础 */
  body {
    background-color: #1a1d21 !important;
    color: #e6e6e6;
  }

  /* 背景工具类（侧栏 bg-light、各处 bg-white/bg-body 等） */
  .bg-light,
  .bg-white,
  .bg-body {
    background-color: #23272b !important;
    color: #e6e6e6;
  }

  /* 链接（深色背景下进一步提亮，确保足够醒目） */
  a {
    color: #4dabff;
  }
  a:hover {
    color: #80c4ff;
  }
  /* 顶栏内的链接（白字）保持原样 */
  header a,
  .navbar a.text-white {
    color: #fff;
  }

  /* 侧边栏导航 */
  .sidebar {
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, .08);
  }
  .sidebar .nav-link {
    color: #cdd2d8;
  }
  .sidebar .nav-link:hover {
    color: #fff;
  }

  /* 卡片 */
  .card {
    background-color: #23272b;
    border-color: #3a3f44;
    color: #e6e6e6;
  }
  .card-header,
  .card-footer {
    background-color: #2a2f34;
    border-color: #3a3f44;
  }

  /* 表格（格线调亮，原 #3a3f44 在深色背景上几乎看不见） */
  .table {
    color: #e6e6e6;
    border-color: #5b636c;
    --bs-table-bg: transparent;
    --bs-table-striped-bg: #2a2f34;
    --bs-table-striped-color: #e6e6e6;
    --bs-table-hover-bg: #31373d;
    --bs-table-hover-color: #ffffff;
    --bs-table-active-bg: #31373d;
    --bs-table-active-color: #ffffff;
  }
  .table > :not(caption) > * > * {
    border-bottom-color: #5b636c;
  }
  .table thead th,
  .table > thead {
    color: #f2f2f2;
    border-color: #5b636c;
  }
  /* table-bordered 的所有横/竖格线（颜色继承自 .table 的 border-color，
     这里再显式兜底，确保单元格四周边框都清晰可见） */
  .table-bordered > :not(caption) > *,
  .table-bordered > :not(caption) > * > * {
    border-color: #5b636c;
  }

  /* 表单控件 */
  .form-control,
  .form-select,
  .input-group-text {
    background-color: #23272b;
    border-color: #3a3f44;
    color: #e6e6e6;
  }
  .form-control:focus,
  .form-select:focus {
    background-color: #23272b;
    border-color: #5a8dee;
    color: #e6e6e6;
    box-shadow: 0 0 0 .25rem rgba(90, 141, 238, .25);
  }
  .form-control::placeholder {
    color: #8a9099;
  }
  .form-control:disabled,
  .form-control[readonly] {
    background-color: #2a2f34;
    color: #aab0b7;
  }
  .form-floating > label {
    color: #9aa0a8;
  }
  .form-check-input {
    background-color: #23272b;
    border-color: #3a3f44;
  }
  .form-text {
    color: #9aa0a8;
  }

  /* 下拉菜单 */
  .dropdown-menu {
    background-color: #23272b;
    border-color: #3a3f44;
    color: #e6e6e6;
  }
  .dropdown-item {
    color: #e6e6e6;
  }
  .dropdown-item:hover,
  .dropdown-item:focus {
    background-color: #31373d;
    color: #fff;
  }
  .dropdown-divider {
    border-color: #3a3f44;
  }

  /* 弹窗 / 抽屉 */
  .modal-content,
  .offcanvas {
    background-color: #23272b;
    color: #e6e6e6;
  }
  .modal-header,
  .modal-footer {
    border-color: #3a3f44;
  }
  /* 关闭按钮（默认是深色 svg，需反色才能在暗底可见） */
  .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
  }

  /* 列表组 */
  .list-group-item {
    background-color: #23272b;
    border-color: #3a3f44;
    color: #e6e6e6;
  }

  /* 面包屑 / 分页 */
  .breadcrumb {
    color: #9aa0a8;
  }
  .page-link {
    background-color: #23272b;
    border-color: #3a3f44;
    color: #4dabff;
  }
  .page-item.disabled .page-link {
    background-color: #2a2f34;
    border-color: #3a3f44;
    color: #6c757d;
  }

  /* 文本工具类（深色文字在暗底不可见，需反转） */
  .text-dark {
    color: #e6e6e6 !important;
  }
  .text-muted {
    color: #9aa0a8 !important;
  }
  .text-body {
    color: #e6e6e6 !important;
  }

  /* 边框工具类 */
  .border,
  .border-top,
  .border-bottom,
  .border-start,
  .border-end {
    border-color: #3a3f44 !important;
  }
  hr {
    border-color: #3a3f44;
    color: #3a3f44;
  }

  /* 裸链接按钮：class 只有 "btn"、不带任何 btn-* 变体（如列表里的 Edit）。
     暗色下其默认深色文字在黑底几乎不可见，这里上亮蓝色让它清晰可点。
     :not([class*="btn-"]) 精确排除 btn-success / btn-danger 等实心变体，不误伤。 */
  .btn:not([class*="btn-"]) {
    color: #4dabff;
  }
  .btn:not([class*="btn-"]):hover {
    color: #80c4ff;
  }

  /* 浅色按钮在暗底需要重新着色 */
  .btn-light {
    background-color: #2a2f34;
    border-color: #3a3f44;
    color: #e6e6e6;
  }
  .btn-light:hover {
    background-color: #31373d;
    border-color: #4a5056;
    color: #fff;
  }
  .btn-outline-secondary {
    color: #cdd2d8;
    border-color: #5a6066;
  }
  .btn-outline-secondary:hover {
    background-color: #5a6066;
    color: #fff;
  }

  /* 代码块 */
  pre,
  code {
    color: #e685b5;
  }
  pre {
    background-color: #23272b;
  }

  /* 登录页 */
  .form-signin {
    background-color: #23272b !important;
    color: #e6e6e6;
  }
  .form-signin label {
    color: #9aa0a8;
  }
}
