/* EditorPanel.css */

.editor-panel-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--border-radius-medium); /* 使用全局间距变量 */
    background-color: var(--panel-bg-color);
    overflow: hidden; /* 防止内容溢出 */
}


.title-bar {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.unsaved-indicator {
    color: var(--primary-color, #00AD62);
    font-weight: 600;
}

.novel-title-input {
    flex-grow: 1; /* 占据可用空间 */
    padding: 8px 10px;
    font-size: 1.5em;
    font-weight: bold;
    color: var(--text-color-primary);
    background-color: var(--panel-bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-small);
    box-sizing: border-box;
    outline: none;
    margin-right: 10px; /* 与按钮的间距 */
}

.novel-title-input:focus {
    border-color: var(--primary-color); /* 聚焦时的边框颜色 */
    box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.2); /* 聚焦时的阴影 */
}

.new-chapter-button {
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: var(--border-radius-small);
    padding: 8px 12px;
    font-size: 1em;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.new-chapter-button:hover {
    background-color: var(--primary-color-dark);
}
.editor-container {
  display: flex;
  flex-direction: row;
  height: 1000px; /* 固定高度，确保标签页有足够空间 */
  overflow: hidden; /* 确保子元素滚动 */
}

.line-numbers-gutter {
  width: 40px;
  min-width: 40px;
  background-color: var(--panel-bg-color-alt);
  color: var(--text-color-light);
  padding: 10px 5px;
  box-sizing: border-box;
  text-align: right;
  font-family: monospace;
  font-size: 0.9em;
  user-select: none;
  overflow: hidden; /* 隐藏自身的滚动条 */
  position: relative; /* 为了定位子元素 */
  border-right: 1px solid var(--border-color);
}

.line-number-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.line-number {
  position: absolute;
  left: 5px;
  right: 5px;
  text-align: right;
}
.tiptap-editor {
    flex-grow: 1; /* 让编辑器占据剩余空间 */
    border: 1px solid var(--border-color); /* 添加边框 */
    border-radius: var(--border-radius-small); /* 添加圆角 */
    overflow-y: auto; /* 确保内容不溢出 */
    padding: 10px;
}

/* 移除 Tiptap 编辑器聚焦时的默认轮廓 */
.ProseMirror:focus {
    outline: none;
    box-shadow: none;
}
/* 修复 Tiptap 段落间距问题 */
.ProseMirror p {
  margin: 0;
}

/* 右键菜单样式 */
.context-menu {
    position: fixed;
    background-color: var(--panel-bg-color); /* 改为深色背景 */
    border: 1px solid var(--border-color); /* 改为深色边框 */
    box-shadow: var(--shadow-medium); /* 改为深色阴影 */
    z-index: 1000;
    min-width: 120px;
}

.context-menu-item {
    padding: 8px 15px;
    cursor: pointer;
    font-size: 0.9em;
    color: var(--text-color-primary); /* 改为浅色文字 */
}

.context-menu-item:hover {
    background-color: var(--hover-bg-color); /* 改为悬停背景色 */
}

.context-menu-item.disabled {
    color: #b0b0b0;
    cursor: not-allowed;
    background-color: var(--panel-bg-color-alt); /* 改为深灰色系 */
}

.context-menu-item.disabled:hover {
    background-color: var(--panel-bg-color-alt); /* 禁用状态下悬停无变化 */
}


/* 未选择文件时的面板样式 */
.no-file-selected-panel {
    flex-grow: 1; /* 占据剩余空间 */
    display: flex;
    flex-direction: column; /* 垂直排列 */
    justify-content: center; /* 垂直居中 */
    align-items: center; /* 水平居中 */
    color: var(--text-color-primary); /* 文字颜色 */
    position: relative;
    overflow: hidden;
}

/* 操作按钮通用样式 */
.action-button {
    background-color: rgba(255, 255, 255, 0.9); /* 半透明白色背景 */
    color: #2c3e50; /* 深色文字 */
    border: 2px solid var(--primary-color); /* 主色调边框 */
    padding: 12px 24px; /* 适当的内边距 */
    border-radius: 8px; /* 圆角 */
    cursor: pointer;
    font-size: 1.2em; /* 字体大小 */
    font-weight: bold; /* 加粗字体 */
    transition: all 0.3s ease;
    margin-bottom: 10px; /* 按钮之间间距 */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 阴影效果 */
    backdrop-filter: blur(5px); /* 毛玻璃效果 */
}

.action-button:last-child {
    margin-bottom: 0; /* 最后一个按钮没有下边距 */
}

.action-button:hover {
    background-color: var(--primary-color); /* 悬停时背景变为主色调 */
    color: white; /* 悬停时文字变为白色 */
    transform: translateY(-2px); /* 轻微上浮效果 */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* 增强阴影 */
}

/* 为 DiffViewer 添加一个包装器样式，以确保其正确填充空间 */
.diff-view-wrapper {
  display: flex; /* 确保子元素可以正确应用 flex 属性 */
  flex-grow: 1;  /* 占据父容器的剩余空间 */
  overflow: hidden; /* 防止自身溢出，让内部的 DiffViewer 处理滚动 */
}

/* 已删除文件指示器样式 */
.deleted-file-indicator {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  font-size: 1.5em;
  font-weight: bold;
  color: #ff6b6b;
  background-color: #3a1f1f;
  border: 1px solid #ff6b6b;
  border-radius: var(--border-radius-small);
  margin-right: 10px;
}

.deleted-icon {
  margin-right: 8px;
  font-size: 1.2em;
}

.deleted-text {
  text-decoration: line-through;
}

/* 已删除文件消息样式 */
.deleted-file-message {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #2d2d2d;
  color: #ff6b6b;
  font-size: 1.2em;
  text-align: center;
  padding: 20px;
  border-radius: var(--border-radius-medium);
}

.deleted-file-message p {
  margin: 10px 0;
}

/* 自动保存状态样式 */
.auto-save-status {
  display: flex;
  align-items: center;
  margin-right: 10px;
  font-size: 0.9em;
  font-weight: 500;
}

.saving-indicator {
  color: var(--primary-color);
  animation: pulse 1.5s infinite;
}

.saved-indicator {
  color: var(--success-color, #28a745);
}

.unsaved-indicator {
  color: var(--primary-color, #00AD62);
  font-weight: 600;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

/* 移除EditorPanel中的保存按钮样式 */
.editor-panel-content .save-button {
  display: none;
}
