/**
 * Dock 组件样式
 *
 * 职责：左下角统计信息 Dock 的完整样式
 * 作用域：#bottom-left-dock 及其子元素
 * 依赖：variables.css
 *
 * 提取自：history_detail_inline_styles.css
 *
 * 重构说明：
 * 1. 使用 CSS 变量替换硬编码值
 * 2. 使用 BEM 命名（保留 ID 选择器以兼容现有 JS）
 * 3. 清晰的状态管理（展开/折叠）
 * 4. 响应式设计优化
 */

/* ==================== 1. Dock 容器基础样式 ==================== */

#bottom-left-dock {
  /* 定位 */
  position: fixed;
  bottom: var(--dock-position-bottom);
  left: var(--dock-position-left);
  z-index: var(--dock-z-index);

  /* 尺寸 */
  width: auto;
  max-width: 180px;

  /* 外观 */
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-float);

  /* 布局 */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--spacing-sm);
  padding: var(--spacing-md);

  /* 文本 */
  color: var(--color-text-primary);
  font-size: var(--dock-stat-font-size);
  font-weight: var(--font-weight-medium);
  font-family: var(--font-family-base);

  /* 动画 */
  opacity: 0;
  transform: translateY(10px) scale(0.95);
  transition: all var(--transition-base) cubic-bezier(0.4, 0, 0.2, 1);
}

/* Dock 显示状态 */
#bottom-left-dock.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Dock 悬停效果 */
#bottom-left-dock:hover {
  box-shadow: var(--shadow-xl);
  border-color: var(--color-border-medium);
}

/* ==================== 2. Dock 信息栈（展开状态）==================== */

#dock-info-stack {
  display: grid;
  grid-template-columns: auto auto;
  gap: var(--spacing-sm) var(--spacing-md);
  align-items: center;
  padding: var(--spacing-sm);
  background: var(--slate-50);
  border-radius: var(--radius-lg);
  font-size: 11px;
  border: 1px solid transparent;
  transition: border-color var(--transition-fast);
}

#dock-info-stack:hover {
  border-color: var(--color-border-light);
}

/* Dock 列 */
.dock-column {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

/* 标签列 */
.dock-labels-column {
  /* 左侧列 - 标签 */
}

/* 数值列 */
.dock-values-column {
  text-align: left;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.dock-values-column > div {
  justify-content: flex-end;
}

/* ==================== 3. 统计项样式 ==================== */

.dock-stat-item-wrapper-progress,
.dock-stat-item-wrapper-highlight,
.dock-stat-item-wrapper-annotation,
.dock-stat-item-wrapper-img,
.dock-stat-item-wrapper-tbl,
.dock-stat-item-wrapper-formula,
.dock-stat-item-wrapper-words {
  display: flex;
  align-items: center;
  color: var(--color-text-secondary);
  font-size: 11px;
  line-height: var(--line-height-base);
}

/* 可点击统计项 */
.stat-item-clickable {
  cursor: pointer;
  transition: all var(--transition-fast);
  padding: 2px var(--spacing-xs);
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
  text-decoration: underline;
}

.stat-item-clickable:hover {
  background-color: rgba(59, 130, 246, 0.1);
  color: var(--color-primary);
  text-decoration: none;
}

/* ==================== 4. Dock 控制栏 ==================== */

.dock-control-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm);
  background: var(--slate-50);
  border-radius: var(--radius-lg);
  border: 1px solid transparent;
  transition: border-color var(--transition-fast);
}

.dock-control-bar:hover {
  border-color: var(--color-border-light);
}

/* 文献引用按钮 */
.dock-control-bar .stat-item-clickable[data-stat-type="reference"] {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  cursor: pointer;
  transition: all var(--transition-fast);
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: var(--radius-md);
  background: var(--indigo-50);
  border: 1px solid transparent;
}

.dock-control-bar .stat-item-clickable[data-stat-type="reference"]:hover {
  background-color: var(--indigo-100);
  color: var(--color-primary-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

/* 控制栏按钮（设置、折叠）*/
.dock-control-bar a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--color-text-secondary);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
  background: transparent;
}

.dock-control-bar a:hover {
  color: var(--color-text-primary);
  background: var(--slate-200);
  transform: translateY(-1px);
}

/* 设置按钮图标 */
#settings-link i.fa-cog {
  font-size: var(--font-size-md);
}

/* 折叠按钮 */
#dock-toggle-btn {
  cursor: pointer;
  font-size: var(--font-size-sm);
}

/* 折叠状态下的折叠按钮样式 */
#bottom-left-dock.dock-collapsed #dock-toggle-btn {
  margin-left: auto;
  background: rgba(248, 250, 252, 0.8);
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}

#bottom-left-dock.dock-collapsed #dock-toggle-btn:hover {
  background: rgba(226, 232, 240, 1);
  transform: scale(1.05);
}

/* ==================== 5. 折叠进度显示 ==================== */

/* 默认隐藏折叠进度显示 */
#bottom-left-dock:not(.dock-collapsed) #dock-collapsed-progress-display {
  display: none;
}

#dock-collapsed-progress-display {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}

/* ==================== 6. 折叠状态样式 ==================== */

#bottom-left-dock.dock-collapsed {
  /* 布局改为水平 */
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-sm);

  /* 尺寸调整 */
  padding: var(--spacing-sm) var(--spacing-md);
  width: auto;
  max-width: none;

  /* 外观调整 */
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* 折叠时隐藏信息栈 */
#bottom-left-dock.dock-collapsed #dock-info-stack {
  display: none;
}

/* 折叠时简化控制栏 */
#bottom-left-dock.dock-collapsed .dock-control-bar {
  background: transparent;
  padding: 0;
}

/* 折叠时隐藏文献徽章 */
#bottom-left-dock.dock-collapsed .dock-control-bar .stat-item-clickable[data-stat-type="reference"] {
  display: none;
}

/* 折叠状态下的进度显示 */
#bottom-left-dock.dock-collapsed #dock-collapsed-progress-display {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  padding: var(--spacing-sm) var(--spacing-md);
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.1),
    rgba(37, 99, 235, 0.08)
  );
  border-radius: var(--radius-md);
  color: #1e40af;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

/* 折叠进度显示的书本图标 */
#bottom-left-dock.dock-collapsed #dock-collapsed-progress-display::before {
  content: "\f02d";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: var(--font-size-xs);
  margin-right: var(--spacing-xs);
}

/* ==================== 7. 阅读进度数值高亮 ==================== */

#reading-progress-percentage-verbose,
#reading-progress-percentage {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
}

/* ==================== 8. 兼容旧代码的样式 ==================== */

/* 保留用于兼容性 */
#dock-stats {
  display: flex;
  gap: var(--spacing-sm);
}

.sub-block {
  display: inline;
}

/* ==================== 9. 响应式设计 ==================== */

@media (max-width: 768px) {
  #bottom-left-dock {
    bottom: var(--spacing-md);
    left: var(--spacing-md);
    max-width: 160px;
    font-size: 11px;
    padding: var(--spacing-sm);
  }

  #dock-info-stack {
    gap: var(--spacing-xs) var(--spacing-sm);
    padding: var(--spacing-xs);
    font-size: 10px;
  }

  .dock-control-bar {
    gap: var(--spacing-xs);
    padding: var(--spacing-xs);
  }

  .dock-control-bar a {
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 480px) {
  #bottom-left-dock {
    bottom: 10px;
    left: 10px;
    max-width: 140px;
    font-size: 10px;
  }

  #bottom-left-dock.dock-collapsed {
    padding: var(--spacing-xs) var(--spacing-sm);
  }

  #dock-collapsed-progress-display {
    font-size: 11px;
    padding: var(--spacing-xs) var(--spacing-sm);
  }
}

/* ==================== 10. 沉浸模式下的特殊样式 ==================== */

/* 沉浸模式下 Dock 的样式由 immersive.css 控制 */
/* 此处仅保留默认状态 */

/* ==================== 11. 打印样式 ==================== */

@media print {
  #bottom-left-dock {
    display: none !important;
  }
}

/* ==================== 12. 暗色模式支持 ==================== */

@media (prefers-color-scheme: dark) {
  #bottom-left-dock {
    background: linear-gradient(
      135deg,
      rgba(31, 41, 55, 0.95),
      rgba(17, 24, 39, 0.95)
    );
    border-color: rgba(255, 255, 255, 0.1);
    color: var(--color-text-inverse, #e5e7eb);
  }

  #dock-info-stack,
  .dock-control-bar {
    background: rgba(31, 41, 55, 0.6);
  }

  .dock-stat-item-wrapper-progress,
  .dock-stat-item-wrapper-highlight,
  .dock-stat-item-wrapper-annotation,
  .dock-stat-item-wrapper-img,
  .dock-stat-item-wrapper-tbl,
  .dock-stat-item-wrapper-formula,
  .dock-stat-item-wrapper-words {
    color: #9ca3af;
  }

  .dock-values-column {
    color: var(--color-text-inverse, #e5e7eb);
  }

  .stat-item-clickable {
    color: #9ca3af;
  }

  .stat-item-clickable:hover {
    background-color: rgba(59, 130, 246, 0.2);
    color: #60a5fa;
  }

  #bottom-left-dock.dock-collapsed {
    background: rgba(31, 41, 55, 0.85);
  }

  .dock-control-bar .stat-item-clickable[data-stat-type="reference"] {
    background: rgba(59, 130, 246, 0.2);
    border: 1px solid rgba(59, 130, 246, 0.3);
    color: #60a5fa;
  }

  .dock-control-bar .stat-item-clickable[data-stat-type="reference"]:hover {
    background-color: rgba(59, 130, 246, 0.3);
    color: #93c5fd;
  }

  .dock-control-bar a {
    color: #94a3b8;
  }

  .dock-control-bar a:hover {
    background: rgba(51, 65, 85, 0.8);
    color: #e2e8f0;
  }

  #bottom-left-dock.dock-collapsed #dock-collapsed-progress-display {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(37, 99, 235, 0.15));
    color: #60a5fa;
    border: 1px solid rgba(59, 130, 246, 0.3);
  }

  #reading-progress-percentage-verbose,
  #reading-progress-percentage {
    color: #60a5fa;
  }
}
