html {
  overflow-y: hidden;
  overflow-x: hidden;
  touch-action: none;
  overscroll-behavior: contain;
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  background-color: #333333; /* 灰色背景 */
}

body {
  overflow-y: hidden;
  overflow-x: hidden;
  overscroll-behavior: none;
  background-color: #333333; /* 灰色背景 */
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  left: 0px;
  top: 0px;
  position: relative;
  font-family: "Segoe UI", "Arial", sans-serif;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  padding-bottom: env(safe-area-inset-bottom);
}
:root {
  --safe-area-inset-bottom: env(safe-area-inset-bottom);
}

/* ===== 流式输出字符进场动画（轻量波前方案） ===== */
/* 流式字符：JS 控制 blur/scale/opacity，CSS 负责平滑过渡 */
.stream-char {
  display: inline-block;
  white-space: pre-wrap;
  will-change: opacity, filter, transform;
  transition:
    opacity 50ms ease-out,
    filter 50ms ease-out,
    transform 50ms ease-out;
}

/* 已定格的字符：无动画 */
.stream-char-settled {
  display: inline-block;
  white-space: pre-wrap;
  opacity: 1;
}

/* Markdown重渲染过渡：先模糊再清晰 */
.stream-rerender-blur {
  filter: blur(8px);
  transition: filter 0.12s ease-out;
}

.stream-rerender-clear {
  filter: blur(0px);
  transition: filter 0.18s ease-in;
}

/* 模糊波：从上往下逐个元素清晰 + scale 微弹 */
@keyframes blurWaveClear {
  0% {
    filter: blur(8px);
    opacity: 0.7;
    transform: scale(1.04);
  }
  60% {
    filter: blur(1px);
    opacity: 0.95;
    transform: scale(0.99);
  }
  100% {
    filter: blur(0px);
    opacity: 1;
    transform: scale(1);
  }
}

.stream-wave-item {
  filter: blur(8px);
  opacity: 0.7;
  transform: scale(1.04);
  animation: blurWaveClear 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* MiMo TTS 风格标签（可见） */
.tts-style-tag {
  display: inline-block;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  font-size: 0.75em;
  padding: 2px 8px;
  border-radius: 10px;
  margin-right: 4px;
  vertical-align: middle;
  font-weight: 500;
  line-height: 1.4;
}

.chat-message {
  margin-bottom: 10px; /* 设置每条消息的底部外边距 */
  margin-top: 10px;
  white-space: pre-wrap; /* 保留换行符并自动换行 */
}

/* ===== 智能路由思考状态样式 ===== */
.chat-message.thinking-status {
  color: rgba(255, 255, 255, 0.7);
  font-style: italic;
  display: flex;
  align-items: center;
  gap: 8px;
}

.thinking-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  animation: thinking-pulse 1.5s ease-in-out infinite;
}

@keyframes thinking-pulse {
  0%,
  100% {
    opacity: 0.4;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

/* ===== 分屏布局样式（超时降级时使用）===== */
.split-screen-container {
  display: flex;
  gap: 12px;
  width: 100%;
  margin: 10px 0;
}

.split-panel {
  flex: 1;
  min-width: 0;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.split-panel.left-panel {
  border-left: 3px solid #667eea;
}

.split-panel.right-panel {
  border-left: 3px solid #f093fb;
}

.split-panel-label {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-weight: 500;
}

.split-panel .chat-message {
  margin: 8px 0;
}

/* 移动端分屏改为上下布局 */
@media (max-width: 768px) {
  .split-screen-container {
    flex-direction: column;
  }

  .split-panel {
    width: 100%;
  }
}

.user {
  text-align: right;
  color: #ffffff;
  margin-right: 8px;
  text-shadow: 0 2px 12px rgba(255, 255, 255, 0.8);
  position: relative;
  white-space: normal; /* 代码块渲染后换行由<br>控制 */
}

/* 对话回退按钮 - 始终显示在左侧 */
.chat-revert-btn {
  display: inline-block;
  margin-right: 8px;
  padding: 3px 6px;
  border-radius: 10px;
  background: rgba(150, 150, 150, 0.5);
  border: none;
  cursor: pointer;
  font-size: 12px;
  color: white;
  vertical-align: middle;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.chat-revert-btn::before {
  content: "↩";
}
.chat-revert-btn:hover {
  opacity: 1;
}
.bot {
  text-align: left;
  color: #a0e8d7;
  margin-left: 8px;
  font-weight: 500;
  animation: botFadeIn 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  animation-fill-mode: both; /* 保持最终状态，避免闪烁 */
  will-change: transform, opacity; /* 提示浏览器GPU合成 */
  white-space: normal; /* 覆盖继承的 pre-wrap */
}
.bot_think {
  text-align: left;
  color: #a0e8d7;
  margin-left: 8px;
  font-weight: 500;
  font-size: 13px;
  opacity: 0.75;
  border: 1px #a0e8d7 solid;
  border-radius: 15px;
  animation: botFadeIn 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  animation-fill-mode: both;
  will-change: transform, opacity;
  position: relative;
  cursor: pointer;
  white-space: normal;
  overflow: hidden;
  width: 100%;
  transition:
    max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),
    width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* 思考内容折叠状态 - 宽高一起折叠 */
.bot_think.collapsed {
  max-height: 50px;
  width: 120px;
}

/* 展开状态 */
.bot_think.expanded {
  width: 80%;
  max-height: none;
}

/* 折叠状态的点击提示（下半部分） */
.bot_think.collapsed::after {
  content: "点击展开 ▼";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 22px;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(160, 232, 215, 0.15)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: rgba(160, 232, 215, 0.8);
  border-radius: 0 0 15px 15px;
}

/* 展开状态的点击提示（底部30px） */
.bot_think.expanded::after {
  content: "点击折叠 ▲";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30px;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(160, 232, 215, 0.15)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: rgba(160, 232, 215, 0.6);
  border-radius: 0 0 15px 15px;
}

/* 机器人消息滑入动画 - 仅左右位移带弹性回弹 */
@keyframes botFadeIn {
  0% {
    transform: translateX(-110px);
  }
  60% {
    transform: translateX(16px); /* 超调 */
  }
  80% {
    transform: translateX(-4px); /* 回拉 */
  }
  100% {
    transform: translateX(0);
  }
}

/* 恢复记录时禁用动画 */
.bot.no-animation,
.bot_think.no-animation {
  animation: none !important;
}

/* 用户文件URL显示框样式 */
.user-file-url-box {
  text-align: right;
  margin: 5px 8px 10px 0;
}

.file-url-content {
  display: inline-block;
  max-width: 80%;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px) saturate(160%);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  text-align: left;
  transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
}

.file-url-content:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

.file-icon {
  font-size: 16px;
  margin-right: 6px;
  vertical-align: middle;
}

.file-type {
  color: #a0e8d7;
  font-weight: 600;
  font-size: 13px;
  margin-right: 6px;
  text-shadow: 0 1px 4px rgba(160, 232, 215, 0.5);
  vertical-align: middle;
}

.file-url-link {
  color: #ffffff;
  font-size: 12px;
  text-decoration: none;
  word-break: break-all;
  opacity: 0.85;
  transition: opacity 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  vertical-align: middle;
}

.file-url-link:hover {
  opacity: 1;
  text-decoration: underline;
}

.Notes_style {
  position: relative;
  width: 95%;
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  margin: 10px auto;
  padding: 18px 20px;
  padding-right: 45px; /* 为选择按钮留出空间 */
  border-radius: 12px;
  box-sizing: border-box;
  cursor: pointer;

  /* 初始只是透明，不改变transform，避免影响容器高度 */
  opacity: 0;

  /* 现代化玻璃拟态样式 */
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.06) 0%,
    rgba(255, 255, 255, 0.03) 100%
  );
  backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/* 入场动画（通过JS触发） */
.Notes_style.note-animate {
  animation: noteSlideIn 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes noteSlideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* hover效果只在动画完成后生效 */
.Notes_style.note-animate:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.25);
  transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
}

/* 移动端优化 */
@media (max-width: 768px) {
  .Notes_style {
    width: 98%;
    margin: 8px auto;
    padding: 14px 16px;
    padding-right: 40px;
    border-radius: 10px;
  }
}

.Notes_Knowledge_point {
  width: 100%;
  position: relative;
  margin: 6px 0;
  padding: 6px 0;
  text-align: left;
  font-size: 14px;
  line-height: 1.6;
  word-wrap: break-word;
  word-break: break-word;
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.Notes_Knowledge_point:first-child {
  margin-top: 0;
}

.Notes_Knowledge_point:last-of-type {
  margin-bottom: 0;
}

.Notes_button {
  width: 32px;
  height: 32px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
  text-indent: -9999px; /* 隐藏文本但保留在DOM中 */
  background: linear-gradient(135deg, #ff4444 0%, #cc0000 100%);
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow:
    0 2px 8px rgba(255, 68, 68, 0.3),
    inset 0 1px 1px rgba(255, 255, 255, 0.2);
  cursor: pointer;
  user-select: none;
  transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  z-index: 10;
}

.Notes_button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
}

.Notes_button:hover {
  transform: translateY(-50%) scale(1.1);
  box-shadow:
    0 4px 12px rgba(255, 68, 68, 0.5),
    inset 0 1px 1px rgba(255, 255, 255, 0.3);
}

.Notes_button:active {
  transform: translateY(-50%) scale(0.95);
}

/* 选中状态 */
.Notes_button.selected {
  background: linear-gradient(135deg, #00ff00 0%, #00cc00 100%);
  box-shadow:
    0 2px 8px rgba(0, 255, 0, 0.4),
    inset 0 1px 1px rgba(255, 255, 255, 0.2);
}

.Notes_button.selected::before {
  width: 18px;
  height: 18px;
  background: rgba(255, 255, 255, 0.5);
}
@keyframes clickEffect {
  0% {
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    width: 200px;
    height: 200px;
    opacity: 0;
  }
}

/* 液态玻璃效果样式 */
.glass-effect {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  position: relative;
  overflow: hidden;
}

/* 多层高光效果 */
.glass-effect::before,
.glass-effect::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
}

.glass-effect::before {
  top: 10px;
  left: 30px;
  width: 60%;
  height: 20px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.8) 0%,
    rgba(255, 255, 255, 0.1) 100%
  );
  border-radius: 20px;
  filter: blur(2px);
  opacity: 0.7;
}

.glass-effect::after {
  bottom: 18px;
  right: 24px;
  width: 40%;
  height: 12px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.5) 0%,
    rgba(255, 255, 255, 0.05) 100%
  );
  border-radius: 12px;
  filter: blur(1.5px);
  opacity: 0.5;
}

/* 呼吸灯光晕动画 */
@keyframes breathingGlow {
  0%,
  100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.5);
  }
}

@media screen and (max-width: 10000px) {
  /* 电脑端*/
  .AI_auto_cruise {
    width: 10px;
    height: 10px;
    position: absolute;
    top: 2px;
    right: 2px;
    border-radius: 50%;

    /* 特效样式 */
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(20px) saturate(200%);
    box-shadow:
      0 4px 20px rgba(255, 255, 255, 0.1),
      0 8px 40px rgba(255, 255, 255, 0.15),
      inset 0 0 15px rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    cursor: pointer;
  }

  /* 小圆球呼吸灯光晕效果 */
  .AI_auto_cruise::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 50%;
    background: rgba(100, 217, 254, 0.6);
    box-shadow:
      0 0 10px rgba(100, 217, 254, 0.8),
      0 0 20px rgba(100, 217, 254, 0.6),
      0 0 30px rgba(100, 217, 254, 0.4);
    animation: breathingGlow 2s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    z-index: -1;
    pointer-events: none;
  }

  /* 扩大点击区域为4倍（40px），但视觉上保持10px */
  .AI_auto_cruise::before {
    content: "";
    position: absolute;
    width: 60px;
    height: 60px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    /* 透明的，只用于扩大点击区域 */
  }
  .AI_auto_cruise_border {
    width: 280px;
    height: 320px;
    position: absolute;
    top: calc(50% - 160px);
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 15px;
    display: none;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    padding: 12px 14px;
    box-sizing: border-box;
    text-align: left;
    color: rgba(240, 250, 255, 0.95);

    /* SVG液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 动画效果 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
    transform-origin: center center;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
    overflow: hidden;
  }

  .AI_auto_cruise_border.show {
    display: flex;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  .AI_auto_cruise_border::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    backdrop-filter: blur(4px);
    filter: url(#lg-dist);
    isolation: isolate;
    pointer-events: none;
    border-radius: 15px;
  }

  .AI_auto_cruise_border::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 15px;
    overflow: hidden;
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.75),
      inset 0 0 5px rgba(255, 255, 255, 0.75);
    pointer-events: none;
  }

  .auto-cruise-chat-list {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow-y: auto;
    padding-right: 4px;
    margin-bottom: 6px;
  }

  .auto-cruise-chat-list::-webkit-scrollbar {
    width: 6px;
  }

  .auto-cruise-chat-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
    border-radius: 3px;
  }

  .auto-cruise-chat-list::-webkit-scrollbar-track {
    background: transparent;
  }

  .auto-cruise-chat-list .chat-message {
    font-size: 12px;
    line-height: 1.45;
    padding: 6px 8px;
    border-radius: 8px;
    max-width: 100%;
    word-break: break-word;
    white-space: pre-wrap;
    background: rgba(9, 18, 34, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.18);
  }

  /* 避免使用 marked 渲染的 <p> 默认外边距拉高首条气泡高度 */
  .auto-cruise-chat-list .chat-message p {
    margin: 0;
  }

  .auto-cruise-chat-list .chat-message.user {
    margin-left: auto;
    text-align: right;
    background: linear-gradient(
      135deg,
      rgba(87, 178, 255, 0.9),
      rgba(137, 209, 255, 0.8)
    );
    color: #02213f;
    border: none;
    font-weight: 500;
  }

  .auto-cruise-chat-list .chat-message.bot {
    margin-right: auto;
    text-align: left;
    color: #f8ffff;
    background: rgba(18, 28, 56, 0.8);
    border: 1px solid rgba(136, 196, 255, 0.45);
  }

  .auto-cruise-chat-list .chat-message.system {
    margin: 2px auto;
    font-size: 11px;
    color: rgba(245, 255, 255, 0.8);
    background: transparent;
    border: none;
    text-align: center;
  }

  /* 高亮与折叠规则：仅在compact-low模式下折叠低重要度 */
  .auto-cruise-chat-list.compact-low .chat-message.importance-low {
    max-height: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .auto-cruise-chat-list .chat-message.importance-high {
    position: relative;
    font-weight: 600;
    color: #ffffff;
  }

  /* 危险操作轻微染色 */
  .auto-cruise-chat-list .chat-message.category-file-delete,
  .auto-cruise-chat-list .chat-message.category-file-move,
  .auto-cruise-chat-list .chat-message.category-file-rename {
    color: #ffd7d7;
  }

  .auto-cruise-chat-list .chat-message.category-file-download {
    color: #d7ffe4;
  }

  /* 高重要度闪烁动画，追加时生效 */
  .auto-cruise-chat-list .chat-message.importance-high {
    animation: autoCruiseHighlightFlash 0.8s
      cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  @keyframes autoCruiseHighlightFlash {
    0% {
      text-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
      transform: translateY(-1px);
    }
    50% {
      text-shadow: 0 0 14px rgba(255, 255, 255, 1);
      transform: translateY(0px);
    }
    100% {
      text-shadow: none;
      transform: translateY(0px);
    }
  }

  .auto-cruise-status {
    min-height: 16px;
    font-size: 11px;
    color: rgba(245, 255, 255, 0.9);
    letter-spacing: 0.3px;
    transition: opacity 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0.85;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .auto-cruise-status-text {
    flex: 1;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .auto-cruise-clear-btn {
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(17, 44, 82, 0.55);
    color: rgba(242, 250, 255, 0.9);
    font-size: 11px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    flex-shrink: 0;
  }

  .auto-cruise-clear-btn:hover {
    background: rgba(32, 67, 117, 0.75);
    border-color: rgba(255, 255, 255, 0.45);
    transform: translateY(-1px);
  }

  .auto-cruise-clear-btn:active {
    transform: translateY(0);
    background: rgba(12, 35, 68, 0.75);
  }

  .auto-cruise-thinking-btn {
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 100, 100, 0.4);
    background: rgba(82, 17, 17, 0.55);
    color: rgba(255, 200, 200, 0.9);
    font-size: 11px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    flex-shrink: 0;
    margin-left: 6px;
  }

  .auto-cruise-thinking-btn:hover {
    background: rgba(117, 32, 32, 0.75);
    border-color: rgba(255, 120, 120, 0.5);
    transform: translateY(-1px);
  }

  .auto-cruise-thinking-btn:active {
    transform: translateY(0);
    background: rgba(68, 12, 12, 0.75);
  }

  .auto-cruise-thinking-btn.active {
    border: 1px solid rgba(100, 255, 100, 0.4);
    background: rgba(17, 82, 17, 0.55);
    color: rgba(200, 255, 200, 0.9);
  }

  .auto-cruise-thinking-btn.active:hover {
    background: rgba(32, 117, 32, 0.75);
    border-color: rgba(120, 255, 120, 0.5);
  }

  .auto-cruise-thinking-btn.active:active {
    background: rgba(12, 68, 12, 0.75);
  }

  .auto-cruise-thinking-btn.disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }

  .auto-cruise-continue-btn {
    margin-top: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.45),
      rgba(163, 210, 255, 0.65)
    );
    color: #07274b;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .auto-cruise-continue-btn:hover {
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.6),
      rgba(200, 229, 255, 0.85)
    );
    transform: translateY(-1px);
  }

  .auto-cruise-continue-btn:active {
    transform: translateY(0);
  }
  .AI_auto_cruise_input {
    width: 165px;
    min-height: 50px;
    max-height: 200px; /* 最多4行 */
    position: absolute;
    top: calc(50% + 15px); /* 固定顶部位置，只向下延展 */
    left: calc(50% - 45px);
    transform: translateX(-50%); /* 只做水平居中，不做垂直居中 */
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.15);
    border: 1.5px solid rgba(100, 217, 254, 0.4);
    outline: none;
    display: none;
    color: rgba(255, 255, 255, 0.9);
    caret-color: #52c41a; /* 光标颜色 - 绿色 */
    font-size: 14px;
    padding: 12px 15px;
    font-weight: 600;
    line-height: 1.5;
    font-family: inherit;
    resize: none; /* 禁止手动拖拽调整大小 */
    overflow-y: auto; /* 超过最大高度显示滚动条 */
    box-sizing: border-box;

    /* 毛玻璃模糊效果 */
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    box-shadow:
      0 4px 20px rgba(100, 217, 254, 0.2),
      0 0 0 1px rgba(255, 255, 255, 0.6) inset;

    /* 动画效果 */
    opacity: 0;
    transform: translateX(-50%) scale(0); /* 修改为只做水平居中 */
    transform-origin: center top; /* 从顶部中心缩放 */
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;

    /* 隐藏滚动条 */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }

  .AI_auto_cruise_input::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }

  .AI_auto_cruise_input::placeholder {
    color: rgba(255, 255, 255, 0.45);
  }

  .AI_auto_cruise_input.show {
    opacity: 1;
    transform: translateX(-50%) scale(1); /* 修改为只做水平居中 */
    pointer-events: auto;
  }
  .AI_auto_cruise_input_seed {
    width: 25px;
    height: 25px;
    position: absolute;
    top: calc(50% + 40px);
    left: calc(50% + 120px);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: transparent;
    border: none;
    outline: none;
    display: none;
    cursor: pointer;
    color: rgb(1, 235, 252);

    /* 青色发光效果 */
    border: 2px solid rgb(1, 235, 252);
    box-shadow:
      0px 0px 100px rgb(1, 235, 252),
      inset 0px 0px 10px rgb(1, 235, 252),
      0px 0px 5px rgb(255, 255, 255);

    /* 动画效果 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
    transform-origin: center center;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
  }

  .AI_custom_dropdown::-webkit-scrollbar {
    width: 5px;
  }

  .AI_custom_dropdown::-webkit-scrollbar-track {
    background: transparent;
  }

  .AI_custom_dropdown::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 10px;
  }

  .AI_custom_dropdown::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.22);
  }

  .AI_auto_cruise_input_seed.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  .AI_auto_cruise_input_seed.show:hover {
    box-shadow:
      0px 0px 150px rgb(1, 235, 252),
      0px 0px 80px rgba(1, 235, 252, 0.6),
      inset 0px 0px 15px rgb(1, 235, 252),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(1, 235, 252, 0.8));
  }

  /* 感叹号按钮样式（与发送按钮一样大，位置在最右边） */
  .AI_auto_cruise_alert_btn {
    width: 25px;
    height: 25px;
    position: absolute;
    top: calc(50% + 40px);
    left: calc(50% + 80px);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: transparent;
    border: none;
    outline: none;
    display: none;
    cursor: pointer;

    /* 橙黄色发光效果 */
    color: rgb(255, 200, 100);
    border: 2px solid rgb(255, 200, 100);
    box-shadow:
      0px 0px 100px rgb(255, 200, 100),
      inset 0px 0px 10px rgb(255, 200, 100),
      0px 0px 5px rgb(255, 255, 255);

    /* 动画效果 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
    transform-origin: center center;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;

    /* 字体样式 */
    font-size: 16px;
    font-weight: bold;
    line-height: 25px;
    text-align: center;
  }

  .AI_auto_cruise_alert_btn.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  .AI_auto_cruise_alert_btn.show:hover {
    box-shadow:
      0px 0px 150px rgb(255, 200, 100),
      0px 0px 80px rgba(255, 200, 100, 0.6),
      inset 0px 0px 15px rgb(255, 200, 100),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 200, 100, 0.8));
  }

  /* 感叹号按钮展开的可滚动列表 */
  .AI_auto_cruise_alert_menu {
    width: 120px;
    max-height: 200px;
    position: absolute;
    display: none;
    border-radius: 15px;
    overflow-y: auto;
    overflow-x: hidden;

    /* 隐藏滚动条但保持滚动功能 */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */

    /* 液态玻璃特效（与齿轮菜单一致） */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 动画效果 */
    opacity: 0;
    transform: scale(0);
    transform-origin: center center;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
  }

  /* 隐藏滚动条 - Webkit浏览器（Chrome, Safari） */
  .AI_auto_cruise_alert_menu::-webkit-scrollbar {
    display: none;
  }

  .AI_auto_cruise_alert_menu.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

  /* 感叹号列表项样式 */
  .AI_auto_cruise_alert_menu_item {
    width: 100%;
    height: 40px;
    margin: 4px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    position: relative;
  }

  /* ===== 设备在线列表样式（iPhone风格）===== */
  .device-list-container {
    width: 340px;
    max-height: 500px;
    position: fixed;
    display: none;
    border-radius: 20px;
    overflow: hidden;
    z-index: 1001;

    /* 居中定位（通过JS设置left: 50%, top: 50%, transform: translate(-50%, -50%)）*/

    /* 玻璃拟态效果 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(30px) saturate(180%);
    -webkit-backdrop-filter: blur(30px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 动画效果 - 使用弹性曲线 */
    opacity: 0;
    transition:
      all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
      opacity 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
  }

  .device-list-container.show {
    opacity: 1;
    pointer-events: auto;
  }

  /* 设备列表头部 */
  .device-list-header {
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .device-list-title {
    font-size: 18px;
    font-weight: 600;
    color: white;
    letter-spacing: 0.3px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }

  /* 管理员权限按钮 */
  .device-list-admin-btn {
    padding: 6px 12px;
    height: 32px;
    border-radius: 10px;
    border: none;
    background: linear-gradient(
      135deg,
      rgba(255, 165, 0, 0.85),
      rgba(255, 140, 0, 0.85)
    );
    color: white;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    backdrop-filter: blur(10px);
    margin-right: 8px;
    box-shadow: 0 2px 8px rgba(255, 165, 0, 0.3);
    letter-spacing: 0.5px;
  }

  .device-list-admin-btn:hover {
    background: linear-gradient(
      135deg,
      rgba(255, 165, 0, 0.95),
      rgba(255, 140, 0, 0.95)
    );
    box-shadow: 0 4px 12px rgba(255, 165, 0, 0.5);
    transform: translateY(-1px);
  }

  .device-list-admin-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(255, 165, 0, 0.4);
  }

  /* 测试延迟按钮 */
  .device-list-test-latency-btn {
    padding: 6px 12px;
    height: 32px;
    border-radius: 10px;
    border: none;
    background: linear-gradient(
      135deg,
      rgba(0, 122, 255, 0.85),
      rgba(0, 132, 255, 0.85)
    );
    color: white;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    backdrop-filter: blur(10px);
    margin-right: 8px;
    box-shadow: 0 2px 8px rgba(0, 122, 255, 0.3);
    letter-spacing: 0.5px;
  }

  .device-list-test-latency-btn:hover {
    background: linear-gradient(
      135deg,
      rgba(0, 122, 255, 0.95),
      rgba(0, 132, 255, 0.95)
    );
    box-shadow: 0 4px 12px rgba(0, 122, 255, 0.5);
    transform: translateY(-1px);
  }

  .device-list-test-latency-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 122, 255, 0.4);
  }

  .device-list-test-latency-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
  }

  /* 踢出全部按钮 */
  .device-list-kick-all-btn {
    padding: 6px 12px;
    height: 32px;
    border-radius: 10px;
    border: none;
    background: linear-gradient(
      135deg,
      rgba(255, 59, 48, 0.85),
      rgba(255, 45, 85, 0.85)
    );
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    color: white;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 2px 8px rgba(255, 59, 48, 0.3);
    letter-spacing: 0.5px;
  }

  .device-list-kick-all-btn:hover {
    background: linear-gradient(
      135deg,
      rgba(255, 59, 48, 0.95),
      rgba(255, 45, 85, 0.95)
    );
    box-shadow: 0 4px 12px rgba(255, 59, 48, 0.5);
    transform: translateY(-1px);
  }

  .device-list-kick-all-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(255, 59, 48, 0.4);
  }

  /* 管理员按钮激活状态（已获得权限）*/
  .device-list-admin-btn.admin-active {
    background: linear-gradient(
      135deg,
      rgba(52, 199, 89, 0.85),
      rgba(48, 209, 88, 0.85)
    ) !important;
    box-shadow: 0 2px 8px rgba(52, 199, 89, 0.4) !important;
    animation: adminActivePulse 2s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
  }

  .device-list-admin-btn.admin-active:hover {
    background: linear-gradient(
      135deg,
      rgba(52, 199, 89, 0.95),
      rgba(48, 209, 88, 0.95)
    ) !important;
    box-shadow: 0 4px 12px rgba(52, 199, 89, 0.6) !important;
  }

  @keyframes adminActivePulse {
    0%,
    100% {
      box-shadow: 0 2px 8px rgba(52, 199, 89, 0.4);
    }
    50% {
      box-shadow: 0 4px 16px rgba(52, 199, 89, 0.6);
    }
  }

  .device-list-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.12);
    color: white;
    font-size: 18px;
    font-weight: 300;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    backdrop-filter: blur(10px);
  }

  .device-list-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
  }

  .device-list-close:active {
    transform: scale(0.95);
  }

  /* 设备列表内容区 */
  .device-list-content {
    width: 100%;
    max-height: 440px;
    overflow-y: auto;
    padding: 12px;
    box-sizing: border-box;

    /* ✅ 隐藏滚动条（保留滚动功能） */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
  }

  .device-list-content::-webkit-scrollbar {
    display: none; /* Chrome/Safari/Opera */
  }

  /* 单个设备项 */
  .device-item {
    width: 100%;
    padding: 16px 18px;
    margin-bottom: 10px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-sizing: border-box;
    cursor: default;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);

    /* 设备项入场动画 */
    opacity: 0;
    transform: translateY(-10px);
    animation: deviceItemFadeIn 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  }

  @keyframes deviceItemFadeIn {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .device-item:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  }

  .device-item:active {
    transform: translateY(0);
  }

  /* 设备项顶部（设备类型 + 在线状态）*/
  .device-item-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
  }

  .device-type {
    font-size: 16px;
    font-weight: 600;
    color: white;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }

  /* 当前设备标签 */
  .current-device-tag {
    display: inline-block;
    padding: 2px 8px;
    margin-left: 4px;
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.95);
    background: linear-gradient(
      135deg,
      rgba(52, 199, 89, 0.85),
      rgba(48, 209, 88, 0.85)
    );
    border-radius: 8px;
    box-shadow:
      0 2px 8px rgba(52, 199, 89, 0.3),
      0 0 0 1px rgba(255, 255, 255, 0.15) inset;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: currentDevicePulse 2s cubic-bezier(0.45, 0.05, 0.55, 0.95)
      infinite;
  }

  @keyframes currentDevicePulse {
    0%,
    100% {
      box-shadow:
        0 2px 8px rgba(52, 199, 89, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.15) inset;
    }
    50% {
      box-shadow:
        0 2px 12px rgba(52, 199, 89, 0.5),
        0 0 0 1px rgba(255, 255, 255, 0.25) inset,
        0 0 20px rgba(52, 199, 89, 0.2);
    }
  }

  .device-icon {
    font-size: 20px;
  }

  /* 在线状态指示器 */
  .device-status {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: relative;
    box-shadow: 0 0 8px currentColor;
  }

  .device-status.online {
    background: #34c759;
    color: #34c759;
    animation: deviceStatusPulse 2s cubic-bezier(0.45, 0.05, 0.55, 0.95)
      infinite;
  }

  .device-status.offline {
    background: #8e8e93;
    color: #8e8e93;
  }

  @keyframes deviceStatusPulse {
    0%,
    100% {
      box-shadow: 0 0 8px currentColor;
      opacity: 1;
    }
    50% {
      box-shadow: 0 0 15px currentColor;
      opacity: 0.7;
    }
  }

  /* 设备项底部（浏览器信息）*/
  .device-item-bottom {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .device-browser,
  .device-time {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .device-browser-icon {
    font-size: 14px;
  }

  /* 设备操作按钮区域 */
  .device-item-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .device-action-btn {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    backdrop-filter: blur(10px);
    position: relative;
    z-index: 10;
  }

  .device-action-btn:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: scale(1.08);
  }

  .device-action-btn:active {
    transform: scale(0.92);
  }

  /* 备注按钮 */
  .device-action-btn.remark-btn {
    background: rgba(52, 199, 89, 0.15);
    color: rgba(52, 199, 89, 0.95);
  }

  .device-action-btn.remark-btn:hover {
    background: rgba(52, 199, 89, 0.25);
  }

  /* 删除按钮 */
  .device-action-btn.delete-btn {
    background: rgba(255, 59, 48, 0.15);
    color: rgba(255, 59, 48, 0.95);
  }

  .device-action-btn.delete-btn:hover {
    background: rgba(255, 59, 48, 0.25);
  }

  /* 禁用状态的删除按钮 */
  .device-action-btn.delete-btn.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.4);
  }

  .device-action-btn.delete-btn.disabled:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: none;
  }

  /* 延迟包装器（包含延迟显示和对比按钮）*/
  .device-latency-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .device-latency {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .device-latency-text {
    font-weight: 500;
  }

  /* 对比按钮 */
  .device-action-btn.compare-btn {
    width: 32px;
    height: 32px;
    background: rgba(0, 122, 255, 0.15);
    color: rgba(0, 122, 255, 0.95);
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(0, 122, 255, 0.2);
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .device-action-btn.compare-btn:hover {
    background: rgba(0, 122, 255, 0.25);
    box-shadow: 0 4px 10px rgba(0, 122, 255, 0.3);
    transform: scale(1.08);
  }

  .device-action-btn.compare-btn:active {
    transform: scale(0.95);
    box-shadow: 0 1px 4px rgba(0, 122, 255, 0.25);
  }

  /* 设备名称（显示备注）*/
  .device-name {
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
  }

  /* 备注指示器 */
  .remark-indicator {
    display: inline-block;
    margin-left: 4px;
    font-size: 12px;
    opacity: 0.8;
    animation: remarkSparkle 2s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
  }

  @keyframes remarkSparkle {
    0%,
    100% {
      opacity: 0.6;
      transform: scale(1);
    }
    50% {
      opacity: 1;
      transform: scale(1.15);
    }
  }

  /* 空状态提示 */
  .device-list-empty {
    width: 100%;
    padding: 40px 20px;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 14px;
  }

  .login {
    /* 登录框 */
    /* 基本样式 */
    width: 55vw;
    height: 24vh;
    border-radius: 24px;
    top: 44vh;
    left: 22.5vw;

    /* 液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .login_container {
    /* 登录输入框容器 - 左右布局 */
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
  }

  .login_left {
    /* 左侧账号密码区域 */
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5vh;
    padding: 1vh 0;
  }

  .login_right {
    /* 右侧二维码区域 */
    width: 18vh;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    padding: 1vh;
    box-sizing: border-box;
  }

  .login_qr_container {
    /* 二维码容器 */
    width: 14vh;
    height: 14vh;
    background: rgba(255, 255, 255, 1);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    padding: 1vh;
    box-sizing: border-box;
  }

  .login_qr_container canvas,
  .login_qr_container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
  }

  .login_qr_status {
    /* 二维码状态提示 */
    margin-top: 0.8vh;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    user-select: none;
  }

  .login_border {
    /* 登录框的输入样式框 */
    /* 基本样式 */
    width: 90%;
    height: 4.5vh;
    border-radius: 100px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 1vw;

    /* 特效样式 */
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px) saturate(200%);
    box-shadow:
      0 4px 20px rgba(255, 255, 255, 0.1),
      0 8px 40px rgba(255, 255, 255, 0.15),
      inset 0 0 15px rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .login_border:hover {
    box-shadow:
      0 6px 24px rgba(255, 255, 255, 0.15),
      0 10px 50px rgba(255, 255, 255, 0.2),
      inset 0 0 20px rgba(255, 255, 255, 0.25);
  }

  .login_border_input,
  .login_border_password {
    /* 登录框的输入实际框 */
    flex: 1;
    height: 100%;
    background: transparent;
    border: none;
    outline: none;
    font-size: 16px;
    padding: 0 1vw;
    color: white;
    caret-color: #52c41a; /* 光标颜色 - 绿色 */
  }

  .login_border_input::placeholder,
  .login_border_password::placeholder {
    /* 登录框的输入提示词样式 */
    color: white;
    opacity: 0.7;
  }

  .password_eye_icon {
    /* 密码显示/隐藏小眼睛图标 */
    width: 24px;
    height: 24px;
    cursor: pointer;
    opacity: 0.7;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    flex-shrink: 0;
    margin-left: 8px;
  }

  .password_eye_icon:hover {
    opacity: 1;
    transform: scale(1.1);
  }

  .password_eye_icon:active {
    transform: scale(0.95);
  }
  .AI {
    margin: 0;
    width: 100vw;
    height: 100dvh;
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 1;
    transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .AI.page-hide {
    opacity: 0;
    pointer-events: none;
  }
  .AI_border_send {
    /* AI输入框 */
    /* 基本样式 */
    width: 330px;
    min-width: 320px;
    min-height: 70px; /* PC端降低容器最小高度 */
    border-radius: 15px;
    position: absolute;
    bottom: max(16px, var(--safe-area-inset-bottom, 16px));
    left: 50%;
    transform: translateX(-50%); /* 只X轴居中，不影响底部定位 */
    z-index: 10; /* 确保输入框在对话框上面 */

    /* SVG液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.2s ease; /* 缩短过渡时间，使高度变化更流畅 */
  }

  .AI_border_send::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1; /* 改为负值，确保在内容下方 */
    backdrop-filter: blur(4px);
    filter: url(#lg-dist); /* 应用液态扭曲滤镜 */
    pointer-events: none; /* 确保不拦截鼠标事件 */
    border-radius: 15px;
  }

  .AI_border_send::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1; /* 改为负值，确保在内容下方 */
    border-radius: 15px;
    overflow: hidden;
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.75),
      inset 0 0 5px rgba(255, 255, 255, 0.75);
    pointer-events: none; /* 确保不拦截鼠标事件 */
  }
  .img_file {
    width: 327px;
    height: 50px;
    border-radius: 15px; /* 四边圆角，独立岛屿样式 */
    position: absolute;
    display: flex;
    flex-direction: row;
    gap: 2px;
    padding: 2px;
    left: 0px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none; /* Firefox隐藏滚动条 */
    -ms-overflow-style: none; /* IE隐藏滚动条 */

    /* 特效样式 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(16px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.15);
  }
  .img_file::-webkit-scrollbar {
    display: none; /* Chrome/Safari隐藏滚动条 */
  }
  .AI_border_receive {
    /* AI内容框 */
    min-width: none;
    max-width: 99.9vw;
    min-height: 0vh; /* 设置最小高度，内容可顶开容器 */
    max-height: 100dvh; /* 设置最大高度，防止内容超出容器 */
    position: relative;
    top: 0px;
    left: 0px;
    overflow-y: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    padding-bottom: 50vh; /* 给底部留出空间，避免被输入框遮挡 */
    box-sizing: border-box;
  }

  .AI_border_receive::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }

  /* AI输出的图片和视频预览样式 */
  .AI_border_receive img,
  .AI_border_receive video {
    max-width: 300px;
    max-height: 300px;
    border-radius: 8px;
    object-fit: cover;
    border: 2px solid rgba(100, 217, 254, 0.3);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: inline-block;
  }

  .AI_border_receive img:hover,
  .AI_border_receive video:hover {
    border: 2px solid rgba(100, 217, 254, 0.8);
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(100, 217, 254, 0.4);
  }

  .chat-session-sidebar {
    position: fixed;
    top: 12px;
    left: 0;
    z-index: 1002;
    display: flex;
    align-items: flex-start;
    pointer-events: none;
  }

  .chat-session-sidebar-hotzone {
    position: fixed;
    left: 0;
    top: 0;
    width: 28px;
    height: 120px;
    pointer-events: auto;
    background: transparent;
  }

  .chat-session-sidebar-handle {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    pointer-events: auto;
    transition:
      transform 0.25s ease,
      background 0.25s ease,
      border-color 0.25s ease,
      opacity 0.25s ease;
    transform: translateX(-18px);
    opacity: 0.45;
  }

  .chat-session-sidebar.awake .chat-session-sidebar-handle {
    transform: translateX(12px);
    opacity: 0.92;
  }

  .chat-session-sidebar-handle:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateX(12px) translateY(-1px);
  }

  .chat-session-sidebar-handle-icon {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: url("https://1831102749.v.123pan.cn/1831102749/%E9%A1%B9%E7%9B%AE%E6%96%87%E4%BB%B6OSS/%E5%9B%BE%E7%89%87/%E4%BF%A1%E6%81%AF.png")
      center center / contain no-repeat;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
    position: relative;
  }

  .chat-session-sidebar-handle-icon::after {
    content: none;
    position: absolute;
    left: 4px;
    right: 4px;
    top: 6px;
    height: 2px;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 999px;
    box-shadow: 0 5px 0 rgba(255, 255, 255, 0.55);
  }

  .chat-session-sidebar-panel {
    width: 280px;
    max-height: calc(100dvh - 24px);
    margin-left: 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    border: 1.5px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
    overflow: hidden;
    pointer-events: none;
    transform: translateX(-14px);
    opacity: 0;
    transition:
      opacity 0.22s ease,
      transform 0.22s ease;
    display: flex;
    flex-direction: column;
  }

  .chat-session-sidebar.open .chat-session-sidebar-panel {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
  }

  @media (max-width: 768px) {
    .chat-session-sidebar-handle {
      background: #2c2f36;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border: 1.5px solid rgba(255, 255, 255, 0.18);
    }

    .chat-session-sidebar-panel {
      background: linear-gradient(135deg, #3a3a40 0%, #2c2c32 100%);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border: 1.5px solid rgba(255, 255, 255, 0.15);
    }

    .chat-session-item {
      background: #2a2e36;
      border: 1px solid rgba(255, 255, 255, 0.1);
    }
  }

  .chat-session-sidebar-header {
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .chat-session-sidebar-title {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
    letter-spacing: 0.2px;
  }

  .chat-session-sidebar-actions {
    display: flex;
    gap: 8px;
    align-items: center;
  }

  .chat-session-sidebar-btn {
    height: 26px;
    padding: 0 10px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    cursor: pointer;
    user-select: none;
    transition:
      background 0.2s ease,
      transform 0.2s ease,
      border-color 0.2s ease;
  }

  .chat-session-sidebar-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.28);
    transform: translateY(-1px);
  }

  .chat-session-sidebar-btn:active {
    transform: translateY(0);
  }

  .chat-session-sidebar-list {
    padding: 8px;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
    -ms-overflow-style: auto;
  }

  .chat-session-sidebar-list::-webkit-scrollbar {
    width: 6px;
  }

  .chat-session-sidebar-list::-webkit-scrollbar-track {
    background: transparent;
  }

  .chat-session-sidebar-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.28);
    border-radius: 999px;
  }

  .chat-session-sidebar-list::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.4);
  }

  @media (max-width: 768px) {
    .chat-session-sidebar-list {
      scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
    }

    .chat-session-sidebar-list::-webkit-scrollbar {
      width: 5px;
    }
  }

  .chat-session-item {
    padding: 10px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    cursor: pointer;
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    line-height: 1.35;
    user-select: none;
    transition:
      background 0.2s ease,
      border-color 0.2s ease,
      transform 0.2s ease;
    margin-bottom: 8px;
    position: relative;
    padding-right: 40px;
  }

  .chat-session-item:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.18);
    transform: translateY(-1px);
  }

  .chat-session-item:active {
    transform: translateY(0);
  }

  .chat-session-item .chat-session-name {
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 4px;
    word-break: break-word;
  }

  .chat-session-item .chat-session-meta {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.6);
    word-break: break-word;
  }

  .chat-session-item .chat-session-delete {
    position: absolute;
    right: 8px;
    top: 8px;
    width: 26px;
    height: 22px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 68, 68, 0.14);
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    transition:
      background 0.18s ease,
      transform 0.18s ease,
      border-color 0.18s ease;
  }

  .chat-session-item .chat-session-delete:hover {
    background: rgba(255, 68, 68, 0.22);
    border-color: rgba(255, 255, 255, 0.26);
    transform: translateY(-1px);
  }

  .chat-session-item .chat-session-delete:active {
    transform: translateY(0);
  }
  .AI_button {
    /* AI功能按钮 */
    /* 基本样式 */
    width: 75px;
    height: 30px;
    color: white;
    border-radius: 20px;
    position: absolute;
    bottom: max(1vh, var(--safe-area-inset-bottom, 8px));
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    z-index: 11; /* 确保按钮在输入框上面 */
    cursor: pointer;

    /* 液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* 上下文按钮在 .AI_button 基础上补充：定位、内部 ring/文字间距、tooltip 层级 */
  .AI_context_meter {
    left: 189px;
    padding: 0;
    gap: 7px;
    z-index: 12;
  }

  .AI_context_ring {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    --context-ring-color: rgb(130, 130, 130);
    --context-ring-empty-color: rgba(255, 255, 255, 0.16);
    background: conic-gradient(
      var(--context-ring-color) var(--context-percent, 0%),
      var(--context-ring-empty-color) 0
    );
    position: relative;
    flex: 0 0 auto;
    -webkit-mask: radial-gradient(
      circle at center,
      transparent 3.5px,
      #000 4px
    );
    mask: radial-gradient(circle at center, transparent 3.5px, #000 4px);
  }

  .AI_context_text {
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
  }

  .AI_context_tooltip {
    position: absolute;
    left: 0;
    bottom: 42px;
    min-width: 230px;
    padding: 12px 13px;
    border-radius: 10px;
    background: rgba(20, 20, 24, 0.82);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.2),
      0 12px 34px rgba(0, 0, 0, 0.36);
    color: rgba(255, 255, 255, 0.74);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition:
      opacity 0.18s ease,
      transform 0.18s ease,
      visibility 0.18s ease;
  }

  .AI_context_meter:hover .AI_context_tooltip,
  .AI_context_meter:focus-within .AI_context_tooltip,
  .AI_context_meter.context-tooltip-open .AI_context_tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .AI_context_tooltip_main {
    font-size: 16px;
    line-height: 1.35;
    white-space: nowrap;
  }

  .AI_context_tooltip_threshold,
  .AI_context_tooltip_status {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.64);
    font-size: 15px;
    line-height: 1.35;
  }

  .AI_context_tooltip_status:empty {
    display: none;
  }

  .AI_context_actions {
    display: flex;
    gap: 8px;
    margin-top: 11px;
  }

  .AI_context_action_btn {
    flex: 1;
    height: 28px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.22s ease;
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
  }

  .AI_context_action_btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.26);
  }

  .AI_context_action_btn:active {
    transform: scale(0.96);
  }

  .AI_context_meter.context-high .AI_context_ring {
    --context-ring-color: rgb(255, 128, 24);
  }

  .AI_context_meter.context-empty .AI_context_ring {
    --context-ring-color: var(--context-ring-empty-color);
  }

  .AI_context_meter.context-critical .AI_context_ring {
    --context-ring-color: rgb(255, 72, 72);
  }

  .AI_context_meter.context-compressed .AI_context_ring {
    --context-ring-color: rgb(82, 196, 26);
  }

  /* ========== 移动端：上下文用量详情 tooltip 适配 ========== */
  @media (max-width: 768px) {
    .AI_context_tooltip {
      position: absolute !important;
      /* 父按钮自身带有 backdrop-filter，会成为绝对定位/固定定位的限制块。
         按钮在左侧 189px 处，宽度约 75px。
         设置 left: -150px 可以让这个 280px 宽的提示框完美居中在整个输入框区域内，两侧都不会溢出 */
      left: -150px !important;
      right: auto !important;
      top: auto !important;
      bottom: 42px !important;
      width: 280px !important;
      min-width: 280px !important;
      max-width: 280px !important;
      box-sizing: border-box !important;
    }

    .AI_context_tooltip_main {
      white-space: normal !important;
      word-break: break-word !important;
      font-size: 14px !important;
    }

    .AI_context_tooltip_threshold,
    .AI_context_tooltip_status {
      font-size: 13px !important;
      white-space: normal !important;
      word-break: break-word !important;
    }
  }

  /* AI对话-深度思考按钮 - 青色发光 */
  #id_AI_think {
    color: rgb(1, 235, 252);
    border: 2px solid rgb(1, 235, 252);
    box-shadow:
      0px 0px 100px rgb(1, 235, 252),
      inset 0px 0px 10px rgb(1, 235, 252),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;
    background: rgba(1, 235, 252, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
  }

  #id_AI_think:hover {
    box-shadow:
      0px 0px 150px rgb(1, 235, 252),
      0px 0px 80px rgba(1, 235, 252, 0.6),
      inset 0px 0px 15px rgb(1, 235, 252),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(1, 235, 252, 0.8));
  }

  #id_AI_think:active {
    box-shadow:
      0px 0px 150px rgb(1, 235, 252),
      0px 0px 80px rgba(1, 235, 252, 0.6),
      inset 0px 0px 15px rgb(1, 235, 252),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(1, 235, 252, 0.8));
    transform: scale(0.95);
  }

  /* AI对话-Agent按钮 - 玻璃拟态风格 */
  #id_AI_Agent {
    color: rgb(255, 165, 0);
    border: 1px solid rgba(255, 165, 0, 0.3);
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
  }

  #id_AI_Agent:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 165, 0, 0.5);
  }

  #id_AI_Agent:active {
    box-shadow:
      0px 0px 150px rgb(255, 165, 0),
      0px 0px 80px rgba(255, 165, 0, 0.6),
      inset 0px 0px 15px rgb(255, 165, 0),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 165, 0, 0.8));
    transform: scale(0.95);
  }

  #id_AI_TTS {
    overflow: visible;
  }

  #id_AI_TTS.status-on {
    color: rgb(100, 217, 254);
    border: 2px solid rgb(100, 217, 254);
    box-shadow:
      0px 0px 100px rgb(100, 217, 254),
      inset 0px 0px 10px rgb(100, 217, 254),
      0px 0px 5px rgb(255, 255, 255);
    background: rgba(100, 217, 254, 0.1);
  }

  #id_AI_TTS.status-on:hover {
    box-shadow:
      0px 0px 150px rgb(100, 217, 254),
      0px 0px 80px rgba(100, 217, 254, 0.6),
      inset 0px 0px 15px rgb(100, 217, 254),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(100, 217, 254, 0.8));
  }

  #id_AI_TTS.status-on:active {
    box-shadow:
      0px 0px 150px rgb(100, 217, 254),
      0px 0px 80px rgba(100, 217, 254, 0.6),
      inset 0px 0px 15px rgb(100, 217, 254),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(100, 217, 254, 0.8));
  }

  /* AI对话-自定义按钮 - 玻璃拟态风格 */
  #id_AI_Custom {
    overflow: visible;
    color: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
  }

  #id_AI_Custom:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.5);
  }

  #id_AI_Custom:active {
    transform: scale(0.95);
  }

  /* 自定义按钮打开状态 - 玻璃拟态风格 */
  #id_AI_Custom.status-on {
    width: 82px;
    color: rgb(180, 100, 255);
    border: 1px solid rgba(180, 100, 255, 0.5);
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
  }

  #id_AI_Custom.status-on:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(180, 100, 255, 0.7);
  }

  #id_AI_Custom.status-on:active {
    box-shadow:
      0px 0px 150px rgb(180, 100, 255),
      0px 0px 80px rgba(180, 100, 255, 0.6),
      inset 0px 0px 15px rgb(180, 100, 255),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(180, 100, 255, 0.8));
    transform: none;
  }

  /* 自定义按钮文字区域 */
  .AI_custom_text {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .AI_custom_text:active {
    opacity: 0.7;
  }

  /* 自定义按钮箭头区域 - 动画展开/收起 */
  .AI_custom_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0;
    height: 100%;
    cursor: pointer;
    border-left: 1px solid transparent;
    margin-left: 0;
    color: inherit;
    opacity: 0;
    overflow: hidden;
    transition:
      width 0.35s cubic-bezier(0.34, 1.3, 0.64, 1),
      opacity 0.25s ease,
      margin-left 0.35s cubic-bezier(0.34, 1.3, 0.64, 1),
      border-left-color 0.25s ease,
      transform 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .AI_custom_arrow svg {
    display: block;
    flex-shrink: 0;
  }

  .AI_custom_arrow:hover {
    opacity: 0.75;
  }

  .AI_custom_arrow:active {
    opacity: 0.5;
  }

  /* 激活状态时展开箭头 */
  #id_AI_Custom.status-on .AI_custom_arrow {
    width: 24px;
    margin-left: 2px;
    opacity: 1;
    border-left-color: rgba(180, 100, 255, 0.25);
  }

  /* 下拉菜单打开时箭头旋转 */
  .AI_custom_arrow.open {
    transform: rotate(180deg);
  }

  /* 语音按钮文字区域 */
  .AI_tts_text {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    cursor: pointer;
    user-select: none;
  }
  /* 自定义按钮下拉菜单 - 纯色高级背景 */
  .AI_custom_dropdown {
    position: absolute;
    bottom: 42px;
    right: -5px;
    min-width: 190px;
    max-height: min(54vh, 400px);
    display: none;
    flex-direction: column;
    border-radius: 14px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 100;
    padding: 8px 0;

    /* 玻璃拟态背景 - 与其他菜单一致 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 展开动画 - 从箭头位置展开 */
    opacity: 0;
    transform: scale(0.4);
    transform-origin: calc(100% - 12px) calc(100% + 8px);
    transition:
      opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.28s cubic-bezier(0.2, 1.2, 0.4, 1);
    pointer-events: none;
  }

  /* 强制应用纯色背景 - 使用更高优先级 */
  html body .AI_custom_dropdown,
  html body div .AI_custom_dropdown,
  html body * .AI_custom_dropdown {
    background: rgba(30, 30, 40, 0.95) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
  }

  .AI_custom_dropdown.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

  .AI_custom_dropdown_title {
    color: rgba(160, 232, 215, 0.55);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 12px 18px 5px;
    margin-top: 0;
    user-select: none;
    pointer-events: none;
    cursor: default;
    text-shadow: none !important;
    filter: none !important;
  }

  .AI_custom_dropdown_title:first-child {
    padding-top: 6px;
  }

  /* 标题前的分隔线（非首个） */
  .AI_custom_dropdown_title ~ .AI_custom_dropdown_title {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    margin-top: 4px;
    padding-top: 12px;
  }

  .AI_custom_model_option {
    min-height: 36px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 14px;
    margin: 2px 8px;
    user-select: none;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
    cursor: pointer;
    font-weight: 500;
    position: relative;
    border-radius: 8px;
    width: calc(100% - 16px);
    letter-spacing: 0.2px;
    transition:
      background 0.15s ease,
      color 0.15s ease;
  }

  .AI_custom_model_option:hover {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.95);
  }

  .AI_custom_model_option:active {
    background: rgba(255, 255, 255, 0.1);
  }

  .AI_custom_model_option.selected {
    background: rgba(100, 217, 254, 0.1);
    color: rgb(130, 220, 245);
    font-weight: 600;
  }

  .AI_custom_model_option.selected::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 16px;
    border-radius: 0 3px 3px 0;
    background: rgb(100, 217, 254);
  }

  /* 笔记-深度分析按钮 - 橙色发光 */
  #id_AI_Notes_high {
    color: rgb(255, 152, 0);
    border: 2px solid rgb(255, 152, 0);
    box-shadow:
      0px 0px 100px rgb(255, 152, 0),
      inset 0px 0px 10px rgb(255, 152, 0),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;
    background: rgba(255, 152, 0, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
  }

  #id_AI_Notes_high:hover {
    box-shadow:
      0px 0px 150px rgb(255, 152, 0),
      0px 0px 80px rgba(255, 152, 0, 0.6),
      inset 0px 0px 15px rgb(255, 152, 0),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 152, 0, 0.8));
  }

  #id_AI_Notes_high:active {
    box-shadow:
      0px 0px 150px rgb(255, 152, 0),
      0px 0px 80px rgba(255, 152, 0, 0.6),
      inset 0px 0px 15px rgb(255, 152, 0),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 152, 0, 0.8));
    transform: scale(0.95);
  }

  /* 笔记-超长分析按钮 - 金黄色发光 */
  #id_AI_Notes_long {
    color: rgb(255, 215, 0);
    border: 2px solid rgb(255, 215, 0);
    box-shadow:
      0px 0px 100px rgb(255, 215, 0),
      inset 0px 0px 10px rgb(255, 215, 0),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;
    background: rgba(255, 215, 0, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
  }

  #id_AI_Notes_long:hover {
    box-shadow:
      0px 0px 150px rgb(255, 215, 0),
      0px 0px 80px rgba(255, 215, 0, 0.6),
      inset 0px 0px 15px rgb(255, 215, 0),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 215, 0, 0.8));
  }

  #id_AI_Notes_long:active {
    box-shadow:
      0px 0px 150px rgb(255, 215, 0),
      0px 0px 80px rgba(255, 215, 0, 0.6),
      inset 0px 0px 15px rgb(255, 215, 0),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 215, 0, 0.8));
    transform: scale(0.95);
  }

  /* 笔记-深度思考按钮 - 洋红色发光 */
  #id_AI_Notes_think {
    color: rgb(255, 0, 255);
    border: 2px solid rgb(255, 0, 255);
    box-shadow:
      0px 0px 100px rgb(255, 0, 255),
      inset 0px 0px 10px rgb(255, 0, 255),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;
    background: rgba(255, 0, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
  }

  #id_AI_Notes_think:hover {
    box-shadow:
      0px 0px 150px rgb(255, 0, 255),
      0px 0px 80px rgba(255, 0, 255, 0.6),
      inset 0px 0px 15px rgb(255, 0, 255),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 0, 255, 0.8));
  }

  #id_AI_Notes_think:active {
    box-shadow:
      0px 0px 150px rgb(255, 0, 255),
      0px 0px 80px rgba(255, 0, 255, 0.6),
      inset 0px 0px 15px rgb(255, 0, 255),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 0, 255, 0.8));
    transform: scale(0.95);
  }
  .AI_button1 {
    /* AI文件功能按钮 */
    /* 基本样式 */
    width: 30px;
    height: 30px;
    color: white;
    border-radius: 20px;
    position: absolute;
    bottom: max(1vh, var(--safe-area-inset-bottom, 8px));
    right: 1vh;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    font-size: 20px;
    cursor: pointer;
    z-index: 11; /* 确保按钮在输入框上面 */

    /* 按钮本身透明，毛玻璃效果由 ::before 承载 */
    /* 如果直接在此加 backdrop-filter 会创建 backdrop-root，导致子节点 .menu 的毛玻璃失效 */
    background: transparent;
    border: 2.5px solid rgba(255, 255, 255, 0.35);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .AI_button1::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.06);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    backdrop-filter: blur(12px) saturate(140%);
    z-index: -1;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    pointer-events: none;
  }

  .AI_button1:hover {
    scale: 1.05;
  }

  .AI_button1:hover::before {
    background: rgba(255, 255, 255, 0.12);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
  }
  .AI_input {
    /* AI输入框 */
    width: 90%;
    min-height: 3.5vh; /* PC端降低最小高度 */
    max-height: calc(3.5vh * 4); /* 最多4行 */
    position: absolute;
    left: 5%;
    top: 1.2vh; /* 微微往下调整 */
    border-radius: 0;
    color: white;
    caret-color: #52c41a; /* 光标颜色 - 绿色 */
    border: none;
    outline: none;
    background: transparent;
    font-size: 15px;
    resize: none; /* 禁止手动拖拽调整大小 */
    overflow-y: auto; /* 超过最大高度显示滚动条 */
    line-height: 1.5; /* 设置行高 */
    font-family: inherit;
    padding: 8px 0; /* 添加上下内边距 */
    box-sizing: border-box;
    transition: height 0.1s ease; /* 平滑高度过渡 */
  }

  /* PC端textarea滚动条隐藏 */
  .AI_input::-webkit-scrollbar {
    width: 0;
    display: none;
  }

  .AI_input {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
  }
  .AI_Notes {
    /* AI记忆 */
    width: 100vw;
    height: 100dvh;
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 1;
    transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
  }

  .AI_Notes.page-hide {
    opacity: 0;
    pointer-events: none;
  }
  .AI_Notes_menu {
    /* AI笔记菜单 */
    width: fit-content;
    min-width: 40px;
    max-width: 80px;
    height: auto;
    max-height: 80vh;
    top: 0px;
    left: 0px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 4px;
    position: relative;
    border-radius: 15px;

    /* 液态玻璃 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(22px) saturate(140%);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
  }
  .AI_Notes_menu_son {
    /* AI笔记菜单子项目 */
    width: 100%;
    min-width: 32px;
    height: 3vw;
    min-height: 32px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 14px;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    user-select: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;

    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .AI_Notes_menu_son::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.15),
      transparent
    );
    transition: left 0.5s;
  }

  .AI_Notes_menu_son:hover::before {
    left: 100%;
  }

  .AI_Notes_menu_son:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: scale(1.05);
    border-color: rgba(255, 255, 255, 0.25);
  }

  .AI_Notes_menu_son:active {
    background: rgba(255, 255, 255, 0.12);
    transform: scale(0.95);
  }
  .AI_Notes_menu_son_Function {
    /* AI笔记菜单功能子项目 */
    width: 100%;
    min-width: 32px;
    height: 3vw;
    min-height: 32px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(255, 255, 255, 0.8);
    font-size: 13px;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    user-select: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;

    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .AI_Notes_menu_son_Function::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.12),
      transparent
    );
    transition: left 0.5s;
  }

  .AI_Notes_menu_son_Function:hover::before {
    left: 100%;
  }

  .AI_Notes_menu_son_Function:hover {
    background: rgba(255, 255, 255, 0.06);
    transform: scale(1.05);
    color: white;
    border-color: rgba(255, 255, 255, 0.2);
  }

  .AI_Notes_menu_son_Function:active {
    background: rgba(255, 255, 255, 0.08);
    transform: scale(0.95);
  }

  .AI_Notes_border_receive {
    /* AI笔记内容框 */
    left: 90px;
    right: 0px;
    max-height: 100dvh;
    position: fixed;
    top: 0px;
    overflow-y: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    padding: 10px 0 50vh 0; /* 上右下左，底部留出50vh空间避免被输入框遮挡 */
    box-sizing: border-box;
    overflow-x: hidden;
    border-radius: 16px;

    /* 展开动画初始状态 */
    display: none;
    opacity: 0;
    transform: scale(0);
    transform-origin: center center;
    transition:
      transform 0.4s cubic-bezier(0.34, 1.3, 0.64, 1),
      opacity 0.4s cubic-bezier(0.34, 1.3, 0.64, 1);
    pointer-events: none;
  }

  .AI_Notes_border_receive.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

  .AI_Notes_border_receive::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }

  .AI_Notes_AI_border {
    /* AI笔记中AI的内容框 */
    /* 基本样式 */
    left: 90px;
    right: 0px;
    max-height: 100dvh;
    position: fixed;
    top: 0px;
    overflow-y: auto;
    padding: 10px 0 50vh 0; /* 上右下左，底部留出50vh空间避免被输入框遮挡 */
    box-sizing: border-box;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    border-radius: 16px;

    /* 展开动画初始状态 */
    display: none;
    opacity: 0;
    transform: scale(0);
    transform-origin: center center;
    transition:
      transform 0.4s cubic-bezier(0.34, 1.3, 0.64, 1),
      opacity 0.4s cubic-bezier(0.34, 1.3, 0.64, 1);
    pointer-events: none;
  }

  .AI_Notes_AI_border.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

  .AI_Notes_AI_border::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }
  .menu {
    /* 基本样式 */
    width: 100px;
    height: 200px;
    position: absolute;
    right: 0px;
    bottom: 40px;
    display: none;
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
    z-index: 12; /* 确保菜单在按钮上面 */

    /* 液态玻璃特效（与齿轮菜单一致） */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 展开动画 */
    opacity: 0;
    transform: scale(0);
    transform-origin: right bottom;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
  }

  .menu.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }
  .menu_son {
    width: 100px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    font-size: 19px;
    color: white;
    cursor: pointer;
    font-weight: 500;
    position: relative;
  }

  .menu_son:hover {
    background: rgba(255, 255, 255, 0.1);
  }

  .menu_son:active {
    background: rgba(255, 255, 255, 0.15);
  }
  #Notes_file {
    /* 电脑文件选择按钮 */
    display: block;
  }
  .Pop-up {
    /* 强提醒遮罩 - 增强版 */
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 999999 !important;
    display: none;
    margin: 0;
    pointer-events: all !important;
    opacity: 0;
  }

  /* 打开动画 */
  .Pop-up.popup-opening {
    animation: popupFadeIn 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }

  /* 关闭动画 */
  .Pop-up.popup-closing {
    animation: popupFadeOut 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }

  @keyframes popupFadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  @keyframes popupFadeOut {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }

  .Pop-up_win {
    /* 强提醒弹窗 - 增强版 */
    position: relative;
    width: 340px;
    min-height: 180px;
    max-height: 500px;
    padding: 35px 25px 25px 25px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 16px;
    line-height: 1.6;
    border-radius: 24px;
    box-sizing: border-box;

    /* 液态玻璃效果 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(22px) saturate(180%);
    -webkit-backdrop-filter: blur(22px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);
  }

  /* 弹窗打开动画 */
  .Pop-up.popup-opening .Pop-up_win {
    animation: popupBounceIn 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55)
      forwards;
  }

  /* 弹窗关闭动画 */
  .Pop-up.popup-closing .Pop-up_win {
    animation: popupBounceOut 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  }

  @keyframes popupBounceIn {
    0% {
      transform: translate(-50%, -50%) scale(0.7);
      opacity: 0;
    }
    100% {
      transform: translate(-50%, -50%) scale(1);
      opacity: 1;
    }
  }

  @keyframes popupBounceOut {
    0% {
      transform: translate(-50%, -50%) scale(1);
      opacity: 1;
    }
    100% {
      transform: translate(-50%, -50%) scale(0.9);
      opacity: 0;
    }
  }

  /* 加载旋转图标 */
  .popup-loading-icon {
    width: 45px;
    height: 45px;
    margin-bottom: 20px;
    border: 3.5px solid rgba(255, 255, 255, 0.2);
    border-top-color: #a0e8d7;
    border-radius: 50%;
    animation: popupSpin 0.8s linear infinite; /* 保持线性旋转 */
  }

  @keyframes popupSpin {
    to {
      transform: rotate(360deg);
    }
  }

  /* 文本内容 */
  .popup-text-content {
    font-size: 16px;
    line-height: 1.6;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    margin-bottom: 15px;
    word-break: break-word;
  }

  /* 进度条容器 */
  .popup-progress-container {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    overflow: hidden;
    margin-top: 15px;
    position: relative;
  }

  /* 进度条 */
  .popup-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #a0e8d7 0%, #c4f0e6 50%, #a0e8d7 100%);
    background-size: 200% 100%;
    border-radius: 10px;
    transition: width 0.03s linear; /* 保持线性进度 */
    animation: progressShimmer 2s linear infinite; /* 保持线性光泽 */
    box-shadow: 0 0 10px rgba(160, 232, 215, 0.5);
  }

  @keyframes progressShimmer {
    0% {
      background-position: 200% 0;
    }
    100% {
      background-position: -200% 0;
    }
  }

  .Pop-up_not_important {
    /* 轻提醒弹窗 */
    position: fixed;
    top: 5%;
    left: 50%;
    transform: translateX(-50%);
    display: none;

    /* 自适应尺寸 */
    width: fit-content;
    min-width: 100px;
    max-width: min(500px, calc(100vw - 40px));
    height: auto;
    min-height: 25px;
    max-height: 200px;
    padding: 10px 20px;
    box-sizing: border-box;

    /* 支持图片+文字布局 */
    align-items: center;
    gap: 12px;

    /* 文字排版 */
    color: white;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    word-wrap: break-word;
    word-break: break-word;
    white-space: pre-wrap;
    overflow-wrap: break-word;

    /* 外观 */
    border-radius: 24px;

    /* 液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* 有图片时使用flex布局 */
  .Pop-up_not_important.with-image {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    text-align: left;
    padding: 12px 16px;
  }

  /* 提示框内的图片样式 */
  .Pop-up_not_important .popup-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    object-fit: contain;
    margin-right: 10px;
  }

  /* 加载图标旋转动画 */
  .Pop-up_not_important .popup-icon.loading {
    animation: popup-icon-rotate 1s linear infinite; /* 保持线性旋转 */
  }

  @keyframes popup-icon-rotate {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  /* 提示框内的文字容器 */
  .Pop-up_not_important .popup-text {
    flex: 1;
    line-height: 1.5;
  }
  .I_file {
    /* 文件管理主页 */
    width: 100vw;
    height: 97dvh;
    opacity: 1;
    transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .I_file.page-hide {
    opacity: 0;
    pointer-events: none;
  }
  .Upload_border {
    /* 上传框 */
    /* --U：基准单位。容器够高时为 100px，容器变矮（< 100px）时按比例缩小，
       供子元素 (按钮 / 上传信息框) 同步等比缩放使用 */
    --U: min(100px, 15dvh);
    width: 90vw;
    min-width: 380px;
    /* 顶部往上多延展 12px，给上传信息框预留安全空间，避免极矮屏幕穿模 */
    /* top - 12, height + 12，底部位置 (top + height) 维持不变 */
    height: calc(15dvh + 12px);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 8px;
    border-radius: 24px;
    display: flex;

    /* SVG液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .Upload_border::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    backdrop-filter: blur(4px);
    filter: url(#lg-dist);
    isolation: isolate;
    pointer-events: none;
    border-radius: 24px;
  }

  .Upload_border::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.75),
      inset 0 0 5px rgba(255, 255, 255, 0.75);
    pointer-events: none;
  }
  /* 浏览文件按钮样式 - 薄荷绿发光效果 */
  .I_file_browse {
    /* 基本样式（基于 --U 等比缩放，容器矮时整体变小） */
    width: calc(1.3 * var(--U, 100px));
    height: calc(0.42 * var(--U, 100px));
    color: rgb(0, 255, 127);
    font-size: calc(0.14 * var(--U, 100px));
    font-weight: 500;
    border-radius: calc(0.24 * var(--U, 100px));
    position: absolute;
    top: 50%;
    left: calc(50% - 1.45 * var(--U, 100px));
    transform: translateY(-0px);
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    cursor: pointer;

    /* 薄荷绿发光效果 */
    border: 2px solid rgb(0, 255, 127);
    box-shadow:
      0px 0px 100px rgb(0, 255, 127),
      inset 0px 0px 10px rgb(0, 255, 127),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .I_file_browse:hover {
    box-shadow:
      0px 0px 150px rgb(0, 255, 127),
      0px 0px 80px rgba(0, 255, 127, 0.6),
      inset 0px 0px 15px rgb(0, 255, 127),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(0, 255, 127, 0.8));
  }

  /* 上传文件按钮样式 - 青色发光效果 */
  .I_file_upload {
    /* 基本样式（基于 --U 等比缩放，与浏览按钮保持比例同步） */
    width: calc(1.3 * var(--U, 100px));
    height: calc(0.42 * var(--U, 100px));
    color: rgb(1, 235, 252);
    font-size: calc(0.14 * var(--U, 100px));
    font-weight: 500;
    border-radius: calc(0.24 * var(--U, 100px));
    position: absolute;
    top: 50%;
    left: calc(50% + 0.15 * var(--U, 100px));
    transform: translateY(-0px);
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    cursor: pointer;

    /* 青色发光效果 */
    border: 2px solid rgb(1, 235, 252);
    box-shadow:
      0px 0px 100px rgb(1, 235, 252),
      inset 0px 0px 10px rgb(1, 235, 252),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .I_file_upload:hover {
    box-shadow:
      0px 0px 150px rgb(1, 235, 252),
      0px 0px 80px rgba(1, 235, 252, 0.6),
      inset 0px 0px 15px rgb(1, 235, 252),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(1, 235, 252, 0.8));
  }
  /* 显示文件名字和上传进度的框 */
  .file-upload-info {
    /* 横向：min-width 与 max-width 也跟随 --U 等比缩放，保持与按钮同比例 */
    width: clamp(calc(2.2 * var(--U, 100px)), 80vw, calc(7 * var(--U, 100px)));
    max-width: calc(100% - 40px);
    /* 纵向：高度按 --U 等比缩放 */
    height: calc(0.4 * var(--U, 100px));
    color: rgba(255, 255, 255, 0.9);
    border-radius: calc(0.24 * var(--U, 100px));
    position: absolute;
    /* 锚定方式：信息框底部固定在按钮顶部上方 (8 × U/100) px 处，等比缩小 */
    /* 按钮 top:50%, 所以 bottom:calc(50% + 0.08 * U) 让两者间距按比例缩放 */
    /* 屏幕变矮时信息框会自动跟随按钮向下移动，永不重合 */
    top: auto;
    bottom: calc(50% + 0.08 * var(--U, 100px));
    left: 50%;
    transform: translateX(-50%); /* 实现左右居中 */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0 calc(0.18 * var(--U, 100px));
    font-size: calc(0.135 * var(--U, 100px));
    font-weight: 500;
    white-space: nowrap;
    text-overflow: ellipsis;

    /* 与按钮组一致的高级现代玻璃质感 */
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.09) 0%,
      rgba(255, 255, 255, 0.03) 100%
    );
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow:
      0 4px 12px rgba(0, 0, 0, 0.15),
      inset 0 1px 1px rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px) saturate(140%);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  /* 下载框样式 */
  .download-box {
    /* 基本样式 */
    width: 90vw;
    min-width: 380px;
    height: 75vh;
    border-radius: 24px;
    position: absolute;
    top: calc(20px + 15vh + 20px);
    left: 50%;
    transform: translate(-50%, 0%);
    /* position: relative; */

    /* SVG液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
  }

  .download-box::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    backdrop-filter: blur(4px);
    filter: url(#lg-dist);
    isolation: isolate;
    pointer-events: none;
    border-radius: 24px;
  }

  .download-box::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 0.75),
      inset 0 0 5px rgba(255, 255, 255, 0.75);
    pointer-events: none;
  }

  /* 下载列表样式 */
  .download-list {
    width: calc(90vw - 40px);
    height: 80%;
    margin: 40px auto 0;
    padding: 10px;
    border-radius: 24px;
    background: rgba(100, 100, 100, 0.3);

    /* 布局相关 */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;

    /* 滚动相关 */
    overflow-y: auto;
    scrollbar-width: none;
    /* 手机端不会整个body滑动的关键 */
    overscroll-behavior: none;

    /* 简单边框 */
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* 下载列表项样式 - 优化版 */
  .download-item {
    width: 100%;
    min-height: 75px;
    margin: 10px 0;
    padding: 15px 20px 15px 25px;
    box-sizing: border-box;
    color: white;
    cursor: pointer;
    user-select: none;

    /* 布局相关 */
    display: flex;
    align-items: center;
    position: relative;
    border-radius: 16px;

    /* 背景和边框 - 增加层次感 */
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.08) 0%,
      rgba(255, 255, 255, 0.04) 100%
    );
    border-left: 4px solid transparent;

    /* 阴影 */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);

    /* 过渡动画 */
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);

    /* 文字特效 */
    text-shadow:
      0 0 4px rgba(160, 232, 215, 0.6),
      0 0 12px rgba(94, 96, 230, 0.4),
      0 0 20px rgba(200, 230, 255, 0.2);
  }

  /* 选中状态 - 增强品牌色 */
  .download-item.selected {
    background: linear-gradient(
      135deg,
      rgba(100, 217, 254, 0.25) 0%,
      rgba(147, 51, 234, 0.15) 100%
    );
    border-left: 5px solid #64d9fe;
    transform: translateX(5px) translateY(-1px);
    box-shadow:
      -5px 0 20px rgba(100, 217, 254, 0.4),
      0 5px 25px rgba(0, 0, 0, 0.3),
      inset 0 0 30px rgba(100, 217, 254, 0.1);
  }

  /* 拖动排序状态 */
  .download-item.dragging {
    opacity: 0.6;
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(100, 217, 254, 0.5);
    border-left: 4px solid #64d9fe;
    z-index: 1000;
  }

  /* 文件名区域 */
  .download-item-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 225px;
    font-size: 15px;
    font-weight: 500;
  }

  /* 下载项文件大小样式 - 优化 */
  .download-item-size {
    position: absolute;
    right: 180px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
    background: linear-gradient(
      135deg,
      rgba(0, 0, 0, 0.35) 0%,
      rgba(0, 0, 0, 0.25) 100%
    );
    padding: 5px 12px;
    border-radius: 8px;
    min-width: 60px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* 文件类型标签 - 深色磨砂玻璃风格 */
  .download-item-type {
    position: absolute;
    right: 75px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(
      135deg,
      rgba(55, 55, 60, 0.85) 0%,
      rgba(40, 40, 45, 0.75) 100%
    );
    color: rgba(255, 255, 255, 0.9);
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    box-shadow:
      0 3px 12px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-sizing: border-box;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* 文件类型标签悬停效果 */
  .download-item-type:hover {
    transform: translateY(-50%);
  }

  /* ==================== 面包屑导航样式 ==================== */
  .breadcrumb-nav {
    display: flex;
    align-items: center;
    width: calc(90vw - 80px);
    padding: 6px 12px;
    margin: 25px auto -35px;
    height: 12px;

    /* 完全透明 */
    background: transparent;
    border: none;

    /* 字体 */
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);

    /* 横向滚动（路径过长时） */
    overflow-x: auto;
    white-space: nowrap;
    flex-wrap: nowrap;
    scroll-behavior: smooth; /* 平滑滚动 */

    /* 动画 */
    transition: all 0.3s ease;

    /* 隐藏滚动条但保持可滚动 */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
  }

  .breadcrumb-nav::-webkit-scrollbar {
    display: none; /* Chrome/Safari/Edge */
  }

  /* 面包屑项（可点击） */
  .breadcrumb-item {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding: 4px 10px;
    border-radius: 6px;
    transition: all 0.2s ease;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    flex-shrink: 0;
    user-select: none;
  }

  .breadcrumb-item:hover {
    background: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 1);
    transform: translateY(-1px);
  }

  .breadcrumb-item:active {
    transform: translateY(0);
    background: rgba(255, 255, 255, 0.2);
  }

  /* 当前目录（不可点击，高亮） */
  .breadcrumb-item.current {
    color: rgba(255, 255, 255, 1);
    font-weight: 600;
    cursor: default;
    background: rgba(255, 255, 255, 0.12);
  }

  .breadcrumb-item.current:hover {
    transform: none;
    background: rgba(255, 255, 255, 0.12);
  }

  /* 图标样式 */
  .breadcrumb-item .icon {
    margin-right: 4px;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
  }

  /* 分隔符 */
  .breadcrumb-separator {
    margin: 0 6px;
    color: rgba(255, 255, 255, 0.4);
    user-select: none;
    font-size: 12px;
    flex-shrink: 0;
  }

  /* ==================== Windows 风格网格视图（列表样式图标）==================== */

  /* 网格视图容器 */
  .download-list.grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 8px;
    padding: 12px;
    align-content: start;
    background: transparent;
  }

  /* 文件卡片 - 基础样式 */
  .download-list.grid-view .download-item {
    /* 布局 - 强制正确的显示顺序 */
    width: 100%;
    height: auto;
    min-height: 145px;
    display: grid !important;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "icon"
      "name"
      "size";
    justify-items: center;
    align-content: start;
    padding: 10px 6px 8px 6px;
    margin: 0;
    box-sizing: border-box;
    position: relative;

    /* 外观 */
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    user-select: none;

    /* 动画 */
    transition: all 0.1s cubic-bezier(0.34, 1.3, 0.64, 1);

    /* 重置列表视图的样式 */
    box-shadow: none !important;
    transform: none !important;
  }

  /* 悬停效果 */
  .download-list.grid-view .download-item:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
    transform: none;
  }

  /* 选中状态 */
  .download-list.grid-view .download-item.selected {
    background: rgba(0, 120, 215, 0.25) !important;
    border-color: rgba(0, 120, 215, 0.6) !important;
    transform: none;
  }

  /* 选中+悬停 */
  .download-list.grid-view .download-item.selected:hover {
    background: rgba(0, 120, 215, 0.35) !important;
    border-color: rgba(0, 120, 215, 0.7) !important;
  }

  /* 图标区域容器（方形背景）- 强制在最上面 */
  .download-list.grid-view .download-item-icon-wrapper {
    grid-area: icon !important;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
    flex-shrink: 0;
    position: relative;
  }

  /* 文件类型图标 - 深色磨砂玻璃风格（网格视图）*/
  .download-list.grid-view .download-item-type {
    grid-area: icon !important;
    position: static !important;
    width: 80px !important;
    height: 80px !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;

    /* 深色磨砂玻璃背景 */
    background: linear-gradient(
      135deg,
      rgba(55, 55, 60, 0.85) 0%,
      rgba(40, 40, 45, 0.75) 100%
    ) !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow:
      0 3px 12px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    box-sizing: border-box !important;

    /* 图标文字 */
    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;

    /* 布局 */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* 动画 */
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1) !important;
    transform: none !important;
  }

  .download-list.grid-view .download-item:hover .download-item-type {
    transform: none !important;
  }

  /* 缩略图 - 覆盖在类型图标上 */
  .download-list.grid-view .thumbnail-container {
    position: absolute !important;
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.3) !important;
    z-index: 2 !important;
  }

  .download-list.grid-view .thumbnail-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 9px !important;
  }

  /* 视频/音频/文档/对话记录按钮容器 - 覆盖在类型图标上 */
  .download-list.grid-view .video-play-button-container,
  .download-list.grid-view .audio-play-button-container,
  .download-list.grid-view .document-preview-button-container,
  .download-list.grid-view .chat-record-import-button {
    position: absolute !important;
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 10px !important;
    z-index: 2 !important;
  }

  /* 文件信息容器（文件名+文件大小）- 在图标下方 */
  .download-list.grid-view .download-item-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    order: 0 !important;
  }

  /* 文件名 - 强制在中间 */
  .download-list.grid-view .download-item-name {
    grid-area: name !important;
    width: 100%;
    max-width: 100%;
    padding: 0 4px;
    margin: 0;

    /* 文字样式 */
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: rgba(255, 255, 255, 0.95);

    /* 多行文本（最多1行，保持紧凑）*/
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    /* 文字阴影 */
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  }

  /* 选中时文件名样式 */
  .download-list.grid-view .download-item.selected .download-item-name {
    color: white;
    font-weight: 500;
  }

  /* 文件大小标签 - 强制在最下面 */
  .download-list.grid-view .download-item-size {
    grid-area: size !important;
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 2px 6px !important;

    /* 样式 */
    font-size: 9px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 4px !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;

    /* 重置列表视图样式 */
    transform: none !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* 网格视图下的文件夹"打开"按钮样式 */
  .download-list.grid-view .folder-open-button {
    display: flex !important;
    width: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    color: rgba(255, 255, 255, 0.95) !important;
    background: linear-gradient(
      135deg,
      rgba(82, 196, 26, 0.3) 0%,
      rgba(56, 142, 60, 0.2) 100%
    ) !important;
    border-radius: 10px !important;
    border: 1px solid rgba(82, 196, 26, 0.4) !important;
    box-shadow:
      0 3px 12px rgba(82, 196, 26, 0.25),
      inset 0 0 20px rgba(82, 196, 26, 0.1) !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1) !important;
    text-shadow: 0 0 8px rgba(82, 196, 26, 0.5) !important;
  }

  .download-list.grid-view .folder-open-button:hover {
    transform: none !important;
    box-shadow:
      0 3px 12px rgba(82, 196, 26, 0.25),
      inset 0 0 20px rgba(82, 196, 26, 0.1) !important;
    background: linear-gradient(
      135deg,
      rgba(82, 196, 26, 0.3) 0%,
      rgba(56, 142, 60, 0.2) 100%
    ) !important;
    border-color: rgba(82, 196, 26, 0.4) !important;
  }

  /* 网格视图下的"返回上一级"按钮样式 */
  .download-list.grid-view .folder-back-button {
    display: flex !important;
    width: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    color: rgba(255, 255, 255, 0.95) !important;
    background: linear-gradient(
      135deg,
      rgba(24, 144, 255, 0.3) 0%,
      rgba(64, 169, 255, 0.2) 100%
    ) !important;
    border-radius: 10px !important;
    border: 1px solid rgba(24, 144, 255, 0.4) !important;
    box-shadow:
      0 3px 12px rgba(24, 144, 255, 0.25),
      inset 0 0 20px rgba(24, 144, 255, 0.1) !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1) !important;
    text-shadow: 0 0 8px rgba(24, 144, 255, 0.5) !important;
  }

  .download-list.grid-view .folder-back-button:hover {
    transform: none !important;
    box-shadow:
      0 3px 12px rgba(24, 144, 255, 0.25),
      inset 0 0 20px rgba(24, 144, 255, 0.1) !important;
    background: linear-gradient(
      135deg,
      rgba(24, 144, 255, 0.3) 0%,
      rgba(64, 169, 255, 0.2) 100%
    ) !important;
    border-color: rgba(24, 144, 255, 0.4) !important;
  }

  .download-list.grid-view .download-item[data-is-back-button="true"] {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
  }

  .download-list.grid-view .download-item[data-is-back-button="true"]:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
  }

  /* 文件夹特殊样式 */
  .download-list.grid-view
    .download-item[data-is-folder="true"]
    .download-item-name {
    color: white !important;
  }

  .download-list.grid-view
    .download-item[data-is-folder="true"].selected
    .download-item-name {
    color: white !important;
    font-weight: 600;
  }

  /* PC端缩略图样式优化 */
  .thumbnail-container {
    position: absolute;
    right: 75px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    z-index: 10;
    box-shadow:
      0 3px 12px rgba(100, 217, 254, 0.25),
      inset 0 0 20px rgba(100, 217, 254, 0.1);
    box-sizing: border-box;
  }

  /* 缩略图悬停效果 */
  .thumbnail-container:hover {
    transform: translateY(-50%);
    z-index: 20;
  }

  /* 缩略图内图片样式 */
  .thumbnail-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    transition: transform 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* 缩略图图片悬停效果 */
  .thumbnail-container:hover img {
    transform: none;
  }

  /* 超大图片加载按钮样式（PC端）*/
  .thumbnail-container[style*="background-color: #ff6b6b"] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    font-weight: bold;
    color: white;
    text-align: center;
    line-height: 1.1;
    padding: 2px;
    word-break: break-word;
  }

  /* 正常图片绿色边框样式 */
  .thumbnail-container[style*="background-color: #90ee90"] {
    border: 2px solid rgba(144, 238, 144, 0.5);
    background: rgba(144, 238, 144, 0.1) !important;
  }

  /* ===== Viewer.js 图片查看器自定义样式 ===== */

  /* 主容器背景 */
  .viewer-backdrop {
    background-color: rgba(0, 0, 0, 0.9) !important;
    backdrop-filter: blur(10px);
  }

  /* 工具栏样式 */
  .viewer-toolbar {
    background: rgba(35, 41, 70, 0.95) !important;
    backdrop-filter: blur(20px);
    border-radius: 16px 16px 0 0;
    padding: 12px 20px !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
  }

  /* 工具栏按钮优化 */
  .viewer-toolbar > li {
    width: 40px !important;
    height: 40px !important;
    margin: 0 4px !important;
    border-radius: 10px !important;
    background: rgba(100, 217, 254, 0.15) !important;
    transition: all 0.3s ease !important;
  }

  .viewer-toolbar > li:hover {
    background: rgba(100, 217, 254, 0.3) !important;
    transform: translateY(-2px);
  }

  .viewer-toolbar > li::before {
    color: #64d9fe !important;
    font-size: 18px !important;
    line-height: 40px !important;
  }

  /* 标题栏样式 */
  .viewer-title {
    background: rgba(35, 41, 70, 0.95) !important;
    backdrop-filter: blur(20px);
    color: #fff !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
    font-weight: 500;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  }

  /* 导航按钮优化 */
  .viewer-button {
    background: rgba(100, 217, 254, 0.2) !important;
    backdrop-filter: blur(10px);
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    opacity: 0.8 !important;
    transition: all 0.3s ease !important;
  }

  .viewer-button:hover {
    background: rgba(100, 217, 254, 0.4) !important;
    opacity: 1 !important;
    transform: scale(1.1);
  }

  .viewer-button::before {
    color: #fff !important;
    font-size: 24px !important;
  }

  /* 关闭按钮特殊样式 */
  .viewer-close {
    background: rgba(255, 107, 107, 0.3) !important;
  }

  .viewer-close:hover {
    background: rgba(255, 107, 107, 0.5) !important;
  }

  /* 图片容器 */
  .viewer-canvas {
    background: transparent !important;
  }

  .viewer-canvas > img {
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
    border-radius: 16px !important;
  }

  /* 缩放提示 */
  .viewer-tooltip {
    background: rgba(35, 41, 70, 0.95) !important;
    backdrop-filter: blur(10px);
    color: #64d9fe !important;
    border-radius: 12px !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }

  /* 加载动画 */
  .viewer-loading {
    color: #64d9fe !important;
  }

  /* 移动端优化 */
  @media (max-width: 768px) {
    .viewer-toolbar > li {
      width: 36px !important;
      height: 36px !important;
      margin: 0 2px !important;
    }

    .viewer-toolbar > li::before {
      font-size: 16px !important;
      line-height: 36px !important;
    }

    .viewer-button {
      width: 44px !important;
      height: 44px !important;
    }

    .viewer-title {
      font-size: 14px !important;
      padding: 12px 15px !important;
    }
  }

  /* ===== Video.js 视频播放器自定义样式 ===== */

  /* 视频播放按钮容器（类似图片缩略图） */
  .video-play-button-container {
    position: absolute;
    right: 75px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    z-index: 10;
    box-shadow:
      0 3px 12px rgba(100, 217, 254, 0.25),
      inset 0 0 20px rgba(100, 217, 254, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
      135deg,
      rgba(100, 217, 254, 0.25) 0%,
      rgba(147, 51, 234, 0.15) 100%
    );
    backdrop-filter: blur(10px);
    border: 1px solid rgba(100, 217, 254, 0.3);
    box-sizing: border-box;
  }

  .video-play-button-container:hover {
    transform: translateY(-50%);
  }

  .video-play-button-container::before {
    content: "▶";
    font-size: 18px;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
  }

  .video-play-button-container.loading::before {
    content: "⏳";
    animation: pulse 1s ease-in-out infinite;
  }

  /* 音频播放按钮样式 */
  .audio-play-button-container {
    position: absolute;
    right: 75px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    z-index: 10;
    box-shadow:
      0 3px 12px rgba(255, 152, 0, 0.25),
      inset 0 0 20px rgba(255, 152, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
      135deg,
      rgba(255, 152, 0, 0.25) 0%,
      rgba(255, 193, 7, 0.15) 100%
    );
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 152, 0, 0.3);
    box-sizing: border-box;
  }

  .audio-play-button-container:hover {
    transform: translateY(-50%);
  }

  .audio-play-button-container::before {
    content: "♪";
    font-size: 20px;
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
  }

  .audio-play-button-container.loading::before {
    content: "⏳";
    animation: pulse 1s ease-in-out infinite;
  }

  /* 文档预览按钮样式 */
  .document-preview-button-container {
    position: absolute;
    right: 75px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    z-index: 10;
    box-shadow:
      0 3px 12px rgba(76, 175, 80, 0.25),
      inset 0 0 20px rgba(76, 175, 80, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
      135deg,
      rgba(76, 175, 80, 0.25) 0%,
      rgba(56, 142, 60, 0.15) 100%
    );
    backdrop-filter: blur(10px);
    border: 1px solid rgba(76, 175, 80, 0.3);
    box-sizing: border-box;
  }

  .document-preview-button-container:hover {
    transform: translateY(-50%);
  }

  .document-preview-button-container::before {
    content: "📄";
    font-size: 20px;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
  }

  .document-preview-button-container.loading::before {
    content: "⏳";
    animation: pulse 1s ease-in-out infinite;
  }

  @keyframes pulse {
    0%,
    100% {
      opacity: 1;
      transform: scale(1);
    }
    50% {
      opacity: 0.6;
      transform: scale(1.1);
    }
  }

  /* 视频模态框 */
  #video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(20px);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    padding: 20px;
    box-sizing: border-box;
  }

  #video-modal.active {
    display: flex;
  }

  /* 视频容器 */
  .video-container {
    position: relative;
    width: 90vw;
    max-width: 1400px;
    max-height: 85vh;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.8);
    background: #000;
  }

  /* Video.js 播放器样式优化 */
  .video-js {
    width: 100% !important;
    height: auto !important;
    border-radius: 16px;
  }

  .video-js .vjs-big-play-button {
    border-radius: 50% !important;
    width: 80px !important;
    height: 80px !important;
    line-height: 80px !important;
    border: 3px solid rgba(100, 217, 254, 0.8) !important;
    background: rgba(35, 41, 70, 0.9) !important;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease !important;
  }

  .video-js .vjs-big-play-button:hover {
    background: rgba(100, 217, 254, 0.3) !important;
    border-color: #64d9fe !important;
    transform: scale(1.1);
  }

  .video-js .vjs-control-bar {
    background: rgba(35, 41, 70, 0.95) !important;
    backdrop-filter: blur(20px);
    border-radius: 0 0 16px 16px;
    height: 50px !important;
  }

  .video-js .vjs-button > .vjs-icon-placeholder:before {
    line-height: 50px !important;
  }

  .video-js .vjs-progress-control {
    position: absolute;
    top: -8px;
    width: 100%;
    height: 8px;
    z-index: 11;
  }

  .video-js .vjs-progress-holder {
    height: 8px !important;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.2) !important;
    z-index: 11;
    position: relative;
  }

  .video-js .vjs-play-progress {
    background: linear-gradient(90deg, #64d9fe, #9333ea) !important;
    border-radius: 4px;
    z-index: 12;
    position: relative;
  }

  .video-js .vjs-load-progress {
    background: rgba(255, 255, 255, 0.3) !important;
    border-radius: 4px;
    z-index: 11;
    position: relative;
  }

  .video-js .vjs-slider {
    background: transparent !important;
  }

  /* 关闭按钮 */
  .video-close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 107, 107, 0.3);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 107, 107, 0.5);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    z-index: 10001;
  }

  .video-close-button:hover {
    background: rgba(255, 107, 107, 0.5);
    transform: scale(1.1);
  }

  /* 视频信息栏 */
  .video-info-bar {
    position: absolute;
    top: 20px;
    left: 20px;
    background: rgba(35, 41, 70, 0.95);
    backdrop-filter: blur(20px);
    padding: 12px 20px;
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    max-width: calc(100% - 120px);
    z-index: 10001;
  }

  .video-info-bar .video-filename {
    font-weight: 500;
    color: #64d9fe;
    margin-bottom: 4px;
    word-break: break-all;
  }

  .video-info-bar .video-details {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
  }

  /* AI字幕覆层 */
  .video-subtitle-overlay {
    transition: opacity 0.15s;
  }
  .video-subtitle-text {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 18px;
    line-height: 1.5;
    border-radius: 6px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    max-width: 100%;
    word-break: break-word;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  .video-subtitle-text:empty {
    display: none;
  }

  /* AI字幕按钮hover */
  .video-subtitle-btn:hover {
    box-shadow: 0 2px 12px rgba(160, 232, 215, 0.5) !important;
  }

  /* 移动端字幕适配 */
  @media (max-width: 768px) {
    .video-subtitle-text {
      font-size: 14px;
      padding: 4px 10px;
    }
    .video-subtitle-overlay {
      bottom: 50px !important;
      max-width: 90% !important;
    }
    .video-subtitle-btn {
      right: auto !important;
      left: 20px !important;
      bottom: 80px !important;
      font-size: 12px !important;
      padding: 6px 12px !important;
    }
  }

  /* 移动端视频优化 */
  @media (max-width: 768px) {
    .video-play-button-container {
      width: 50px !important;
      height: 50px !important;
      right: 70px !important;
      top: 10px !important;
      transform: none !important;
      border-radius: 8px !important;
    }

    .video-play-button-container:hover {
      transform: none !important;
    }

    .video-play-button-container::before {
      font-size: 24px;
    }

    /* 移动端音频播放按钮 */
    .audio-play-button-container {
      width: 50px !important;
      height: 50px !important;
      right: 70px !important;
      top: 10px !important;
      transform: none !important;
      border-radius: 8px !important;
    }

    .audio-play-button-container:hover {
      transform: none !important;
    }

    .audio-play-button-container::before {
      font-size: 24px;
    }

    /* 移动端文档预览按钮 */
    .document-preview-button-container {
      width: 50px !important;
      height: 50px !important;
      right: 70px !important;
      top: 10px !important;
      transform: none !important;
      border-radius: 8px !important;
    }

    .document-preview-button-container:hover {
      transform: none !important;
    }

    .document-preview-button-container::before {
      font-size: 24px;
    }

    .video-container {
      width: 95vw;
      max-height: 80vh;
    }

    .video-info-bar {
      font-size: 12px;
      padding: 8px 12px;
      max-width: calc(100% - 90px);
    }

    .video-close-button {
      width: 40px;
      height: 40px;
      font-size: 20px;
      top: 10px;
      right: 10px;
    }

    .video-js .vjs-control-bar {
      height: 44px !important;
    }

    .video-js .vjs-button > .vjs-icon-placeholder:before {
      line-height: 44px !important;
    }
  }

  /* 下载按钮样式 - 紫罗兰色发光效果 */
  .download-btn {
    /* 基础尺寸与颜色 */
    width: 120px;
    height: 42px;
    color: rgb(238, 130, 238);
    font-weight: 500;

    /* 布局相关 */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    position: absolute;
    top: 12px;
    left: 12px;
    user-select: none;

    /* 紫罗兰色发光效果 */
    border: 2px solid rgb(238, 130, 238);
    box-shadow:
      0px 0px 100px rgb(238, 130, 238),
      inset 0px 0px 10px rgb(238, 130, 238),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;

    /* 交互相关 */
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    cursor: pointer;
  }

  .download-btn:hover {
    box-shadow:
      0px 0px 150px rgb(238, 130, 238),
      0px 0px 80px rgba(238, 130, 238, 0.6),
      inset 0px 0px 15px rgb(238, 130, 238),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(238, 130, 238, 0.8));
  }

  /* 显示文件名的框 */
  .file-name-display {
    /* 基础尺寸与颜色 */
    width: 250px;
    height: 40px;
    color: white;
    background: rgba(100, 100, 100, 0.3);

    /* 布局相关 */
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* 超出部分不显示 */
    padding: 0 10px;
    position: absolute; /* 设置绝对定位 */
    top: 10px; /* 与下载按钮顶部对齐 */
    left: calc(
      20px + 120px + 10px + 120px + 10px
    ); /* 放在下载按钮右侧，间隔 10px */

    /* 简单边框 */
    border: 1px solid rgba(255, 255, 255, 0.3);

    /* 交互相关 */
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    opacity: 0;
  }
  /* 删除文件按钮样式 - 红色发光效果 */
  .delete-file-btn {
    /* 基础尺寸与颜色 */
    width: 120px;
    height: 42px;
    color: rgb(255, 67, 67);
    font-weight: 500;

    /* 布局相关 */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    position: absolute;
    top: 12px;
    left: calc(12px + 120px + 12px);
    user-select: none;

    /* 红色发光效果 */
    border: 2px solid rgb(255, 67, 67);
    box-shadow:
      0px 0px 100px rgb(255, 67, 67),
      inset 0px 0px 10px rgb(255, 67, 67),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;

    /* 交互相关 */
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    cursor: pointer;
  }

  .delete-file-btn:hover {
    box-shadow:
      0px 0px 150px rgb(255, 67, 67),
      0px 0px 80px rgba(255, 67, 67, 0.6),
      inset 0px 0px 15px rgb(255, 67, 67),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 67, 67, 0.8));
  }
  /* 重命名文件按钮样式 - 橙色发光效果 */
  .rename-file-btn {
    /* 基础尺寸与颜色 */
    width: 120px;
    height: 42px;
    color: rgb(255, 152, 0);
    font-weight: 500;

    /* 布局相关 */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    position: absolute;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: 12px;
    user-select: none;
    z-index: 10;

    /* 橙色发光效果 */
    border: 2px solid rgb(255, 152, 0);
    box-shadow:
      0px 0px 100px rgb(255, 152, 0),
      inset 0px 0px 10px rgb(255, 152, 0),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;

    /* 交互相关 */
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    cursor: pointer;
  }

  .rename-file-btn:hover {
    box-shadow:
      0px 0px 150px rgb(255, 152, 0),
      0px 0px 80px rgba(255, 152, 0, 0.6),
      inset 0px 0px 15px rgb(255, 152, 0),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 152, 0, 0.8));
    transform: translateY(-2px) scale(1.02);
  }

  .rename-file-btn:active {
    transform: translateY(0px) scale(0.98);
    transition: all 0.1s cubic-bezier(0.34, 1.3, 0.64, 1);
  }
  .rename-file-input {
    /* 基础尺寸与颜色 */
    width: 200px;
    height: 40px;
    color: white;
    caret-color: #52c41a; /* 光标颜色 - 绿色 */
    outline: 0px;
    font-size: 15px;
    padding: 0 10px;
    display: none;

    /* 布局相关 */
    border-radius: 24px;
    position: absolute; /* 设置绝对定位 */
    top: 50%; /* 垂直居中 */
    left: 50%; /* 水平居中 */
    z-index: 50;
    border: none;

    /* 展开动画 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
    transform-origin: center center;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);

    /* 液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
  }

  .rename-file-input.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  .rename-file-input::placeholder {
    color: rgba(255, 255, 255, 0.7);
  }

  .rename-file-input_yes {
    /* 基础尺寸与颜色 */
    width: 40px;
    height: 40px;
    color: white;
    display: none;

    /* 布局相关 */
    border-radius: 50%;
    position: absolute; /* 设置绝对定位 */
    top: 50%; /* 垂直居中 */
    left: calc(50% + 130px); /* 位置调整到输入框右侧 */
    z-index: 50;

    /* 展开动画 - 延迟 0.15s 出现 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
    transform-origin: center center;
    pointer-events: none;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;

    /* 液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 交互相关 */
    cursor: pointer;
    user-select: none;
  }

  .rename-file-input_yes:hover {
    transform: translate(-50%, -50%) scale(1.08);
  }

  .rename-file-input_yes:active {
    transform: translate(-50%, -50%) scale(0.95);
    transition: all 0.1s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .rename-file-input_yes.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  /* 新建文件夹输入框样式 */
  .create-folder-input {
    /* 基础尺寸与颜色 */
    width: 200px;
    height: 40px;
    color: white;
    caret-color: #52c41a; /* 光标颜色 - 绿色 */
    outline: 0px;
    font-size: 15px;
    padding: 0 10px;
    display: none;

    /* 布局相关 */
    border-radius: 24px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 50;
    border: none;

    /* 展开动画 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
    transform-origin: center center;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);

    /* 液态玻璃特效样式 */
    background: rgba(82, 196, 26, 0.15);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    box-shadow:
      0 8px 32px 0 rgba(82, 196, 26, 0.25),
      0 1.5px 6px 0 rgba(255, 255, 255, 0.25) inset,
      0 0 24px 2px rgba(82, 196, 26, 0.12) inset,
      0 0 0 4px rgba(82, 196, 26, 0.08);
    border: 2.5px solid rgba(82, 196, 26, 0.35);
  }

  .create-folder-input.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  .create-folder-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
  }

  /* 新建文件夹确认按钮样式 */
  .create-folder-input_yes {
    /* 基础尺寸与颜色 */
    width: 40px;
    height: 40px;
    color: white;
    display: none;

    /* 布局相关 */
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: calc(50% + 130px);
    z-index: 50;

    /* 展开动画 - 延迟 0.15s 出现 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
    transform-origin: center center;
    pointer-events: none;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;

    /* 液态玻璃特效样式 */
    background: rgba(82, 196, 26, 0.2);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    box-shadow:
      0 8px 32px 0 rgba(82, 196, 26, 0.25),
      0 1.5px 6px 0 rgba(255, 255, 255, 0.25) inset,
      0 0 24px 2px rgba(82, 196, 26, 0.12) inset,
      0 0 0 4px rgba(82, 196, 26, 0.08);
    border: 2.5px solid rgba(82, 196, 26, 0.35);

    /* 交互相关 */
    cursor: pointer;
    user-select: none;
  }

  .create-folder-input_yes:hover {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow:
      0 12px 40px 0 rgba(82, 196, 26, 0.35),
      0 2px 8px 0 rgba(255, 255, 255, 0.35) inset,
      0 0 32px 4px rgba(82, 196, 26, 0.18) inset;
    background: rgba(82, 196, 26, 0.28);
  }

  .create-folder-input_yes:active {
    transform: translate(-50%, -50%) scale(0.95);
    transition: all 0.1s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .create-folder-input_yes.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  .offline-download-input {
    width: 320px;
    min-height: 100px;
    max-height: 200px;
    color: white;
    caret-color: #52c41a;
    outline: 0px;
    font-size: 14px;
    padding: 12px 16px;
    display: none;
    border-radius: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 50;
    border: none;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    resize: none;
    line-height: 1.5;
    background: rgba(82, 196, 26, 0.15);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    box-shadow:
      0 8px 32px 0 rgba(82, 196, 26, 0.25),
      0 1.5px 6px 0 rgba(255, 255, 255, 0.25) inset,
      0 0 24px 2px rgba(82, 196, 26, 0.12) inset,
      0 0 0 4px rgba(82, 196, 26, 0.08);
    border: 2.5px solid rgba(82, 196, 26, 0.35);
  }

  .offline-download-input.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  .offline-download-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
  }

  .offline-download-input::-webkit-scrollbar {
    width: 6px;
  }

  .offline-download-input::-webkit-scrollbar-thumb {
    background: rgba(82, 196, 26, 0.5);
    border-radius: 3px;
  }

  .offline-download-input::-webkit-scrollbar-track {
    background: transparent;
  }

  .offline-download-input_yes {
    width: 40px;
    height: 40px;
    color: white;
    display: none;
    border-radius: 50%;
    position: absolute;
    top: calc(50% + 70px);
    left: calc(50% + 180px);
    z-index: 50;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
    transform-origin: center center;
    pointer-events: none;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;
    background: rgba(82, 196, 26, 0.18);
    box-shadow:
      0 4px 15px 0 rgba(82, 196, 26, 0.3),
      0 1.5px 6px 0 rgba(255, 255, 255, 0.25) inset,
      0 0 24px 2px rgba(82, 196, 26, 0.12) inset;
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    cursor: pointer;
    border: 2.5px solid rgba(82, 196, 26, 0.35);
  }

  .offline-download-input_yes:hover {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow:
      0 12px 40px 0 rgba(82, 196, 26, 0.35),
      0 2px 8px 0 rgba(255, 255, 255, 0.35) inset,
      0 0 32px 4px rgba(82, 196, 26, 0.18) inset;
    background: rgba(82, 196, 26, 0.28);
  }

  .offline-download-input_yes:active {
    transform: translate(-50%, -50%) scale(0.95);
    transition: all 0.1s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .offline-download-input_yes.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  /* 文件管理菜单子项样式 */
  .menu_son_1 {
    width: 100px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    font-size: 19px;
    color: white;
    cursor: pointer;
    font-weight: 500;
    position: relative;
  }

  .menu_son_1:hover {
    background: rgba(255, 255, 255, 0.1);
  }

  .menu_son_1:active {
    background: rgba(255, 255, 255, 0.15);
  }
  /* 获取链接按钮样式 - 黄色发光效果 */
  .get_direct_link_name {
    /* 基础尺寸与颜色 */
    width: 120px;
    height: 42px;
    color: rgb(255, 235, 59);
    font-weight: 500;

    /* 布局相关 */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    position: absolute;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: calc(12px + 120px + 12px);
    user-select: none;
    z-index: 10;

    /* 黄色发光效果 */
    border: 2px solid rgb(255, 235, 59);
    box-shadow:
      0px 0px 100px rgb(255, 235, 59),
      inset 0px 0px 10px rgb(255, 235, 59),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;

    /* 交互相关 */
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    cursor: pointer;
  }

  .get_direct_link_name:hover {
    box-shadow:
      0px 0px 150px rgb(255, 235, 59),
      0px 0px 80px rgba(255, 235, 59, 0.6),
      inset 0px 0px 15px rgb(255, 235, 59),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(255, 235, 59, 0.8));
    transform: translateY(-2px) scale(1.02);
  }

  .get_direct_link_name:active {
    transform: translateY(0px) scale(0.98);
    transition: all 0.1s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* 新建文件夹按钮样式 - 亮绿色发光效果 */
  .create-folder-btn {
    /* 基础尺寸与颜色 */
    width: 120px;
    height: 42px;
    color: rgb(0, 255, 50);
    font-weight: 500;

    /* 布局相关 */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    position: absolute;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: calc(12px + 120px + 12px + 120px + 12px);
    user-select: none;
    z-index: 10;

    /* 亮绿色发光效果 */
    border: 2px solid rgb(0, 255, 50);
    box-shadow:
      0px 0px 100px rgb(0, 255, 50),
      inset 0px 0px 10px rgb(0, 255, 50),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;

    /* 交互相关 */
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    cursor: pointer;
  }

  .create-folder-btn:hover {
    box-shadow:
      0px 0px 150px rgb(0, 255, 50),
      0px 0px 80px rgba(0, 255, 50, 0.6),
      inset 0px 0px 15px rgb(0, 255, 50),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(0, 255, 50, 0.8));
    transform: translateY(-2px) scale(1.02);
  }

  .create-folder-btn:active {
    transform: translateY(0px) scale(0.98);
    transition: all 0.1s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  /* ===== 文件管理设置按钮样式 - 银白色发光效果 ===== */
  .file-settings-btn {
    /* 基础尺寸与颜色 */
    width: 50px;
    height: 42px;
    color: rgb(200, 200, 200);
    font-weight: 600;
    font-size: 18px;

    /* 布局相关 */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    position: absolute;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: calc(
      12px + 120px + 12px + 120px + 12px + 120px + 12px
    ); /* 新建文件夹右边 */
    user-select: none;
    z-index: 10;
    cursor: pointer;

    /* 银白色发光效果 */
    border: 2px solid rgb(200, 200, 200);
    box-shadow:
      0px 0px 100px rgb(200, 200, 200),
      inset 0px 0px 10px rgb(200, 200, 200),
      0px 0px 5px rgb(255, 255, 255);
    opacity: 1;

    /* 动画过渡 */
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .file-settings-btn:hover {
    box-shadow:
      0px 0px 150px rgb(200, 200, 200),
      0px 0px 80px rgba(200, 200, 200, 0.6),
      inset 0px 0px 15px rgb(200, 200, 200),
      0px 0px 8px rgb(255, 255, 255);
    filter: drop-shadow(0px 0px 40px rgba(200, 200, 200, 0.8));
  }

  /* ===== 文件管理设置菜单样式 ===== */
  .file-settings-menu {
    /* 尺寸和位置 */
    width: 120px;
    max-height: 300px;
    position: absolute;
    display: none;
    bottom: 70px; /* 按钮上方 */
    left: calc(
      12px + 120px + 12px + 120px + 12px + 120px + 12px
    ); /* 与按钮水平对齐 */

    /* 布局 */
    flex-direction: column;
    border-radius: 15px;
    z-index: 12;

    /* 滚动 */
    overflow-y: auto;
    overflow-x: hidden;

    /* 液态玻璃特效 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 展开动画（与file_menu一致）*/
    opacity: 0;
    transform: scale(0);
    transform-origin: center bottom; /* 默认，会被JS动态修改 */
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;

    /* GPU加速 */
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    /* 滚动条样式（与AI_auto_cruise_alert_menu一致）*/
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
  }

  .file-settings-menu::-webkit-scrollbar {
    width: 6px;
  }

  .file-settings-menu::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
  }

  .file-settings-menu::-webkit-scrollbar-track {
    background: transparent;
  }

  /* 菜单展开状态 */
  .file-settings-menu.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

  /* 菜单项样式 */
  .file-settings-menu-item {
    width: 100%;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white; /* PC端默认白色（高级动效） */
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .file-settings-menu-item:last-child {
    border-bottom: none;
  }

  .file-settings-menu-item:hover {
    background: rgba(100, 217, 254, 0.15);
    color: #64d9fe; /* PC端悬停高亮色 */
  }

  .file-settings-menu-item:active {
    background: rgba(100, 217, 254, 0.25);
    transform: scale(0.95);
  }

  /* ===== 浏览文件选择菜单样式（选择文件/选择文件夹） ===== */
  .browse-select-menu {
    width: 120px;
    position: fixed;
    display: none;
    flex-direction: column;
    border-radius: 15px;
    z-index: 9999;
    overflow: hidden;

    /* 液态玻璃特效 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 展开动画 */
    opacity: 0;
    transform: scale(0);
    transform-origin: center bottom;
    transition: all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;

    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  .browse-select-menu.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

  .browse-select-menu-item {
    width: 100%;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .browse-select-menu-item:last-child {
    border-bottom: none;
  }

  .browse-select-menu-item:hover {
    background: rgba(0, 255, 127, 0.15);
    color: #00ff7f;
  }

  .browse-select-menu-item:active {
    background: rgba(0, 255, 127, 0.25);
    transform: scale(0.95);
  }

  /* ===== 文件重名选择弹窗样式 ===== */
  .duplicate-dialog-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.45);
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.25s ease;
  }

  .duplicate-dialog-overlay.show {
    opacity: 1;
  }

  .duplicate-dialog {
    width: 340px;
    border-radius: 20px;
    padding: 24px 20px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;

    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    transform: scale(0.7);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }

  .duplicate-dialog-overlay.show .duplicate-dialog {
    transform: scale(1);
    opacity: 1;
  }

  .duplicate-dialog-title {
    font-size: 16px;
    font-weight: 600;
    color: white;
    text-align: center;
    line-height: 1.5;
  }

  .duplicate-dialog-filename {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    word-break: break-all;
    max-height: 40px;
    overflow: hidden;
  }

  .duplicate-dialog-buttons {
    width: 100%;
    display: flex;
    gap: 10px;
    margin-top: 4px;
  }

  .duplicate-dialog-btn {
    flex: 1;
    height: 40px;
    border-radius: 12px;
    border: none;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .duplicate-dialog-btn.keep-both {
    background: rgba(0, 255, 127, 0.15);
    color: #00ff7f;
    border: 1.5px solid rgba(0, 255, 127, 0.4);
  }

  .duplicate-dialog-btn.keep-both:hover {
    background: rgba(0, 255, 127, 0.3);
  }

  .duplicate-dialog-btn.overwrite {
    background: rgba(255, 100, 100, 0.15);
    color: #ff6464;
    border: 1.5px solid rgba(255, 100, 100, 0.4);
  }

  .duplicate-dialog-btn.overwrite:hover {
    background: rgba(255, 100, 100, 0.3);
  }

  .duplicate-dialog-btn:active {
    transform: scale(0.95);
  }

  .duplicate-dialog-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    user-select: none;
  }

  .duplicate-dialog-checkbox input {
    accent-color: #00ff7f;
  }

  /* ===== 右键菜单遮罩层样式（已禁用，避免backdrop-filter闪烁） ===== */
  .context-menu-overlay {
    display: none !important;
  }

  /* ===== 右键菜单样式 ===== */
  .context-menu {
    /* 尺寸和位置 */
    min-width: 140px;
    max-width: 180px;
    max-height: 300px;
    position: fixed;
    display: none;
    /* 位置由JavaScript动态设置 */

    /* 布局 */
    flex-direction: column;
    border-radius: 12px;
    z-index: 9999;

    /* 滚动 */
    overflow-y: auto;
    overflow-x: hidden;

    /* 液态玻璃特效 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);

    /* 展开动画 */
    opacity: 0;
    transform: scale(0);
    transform-origin: center center; /* 会被JS动态修改 */
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    pointer-events: none;

    /* GPU加速 */
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    /* 滚动条样式 */
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
  }

  .context-menu::-webkit-scrollbar {
    width: 6px;
  }

  .context-menu::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
  }

  .context-menu::-webkit-scrollbar-track {
    background: transparent;
  }

  /* 菜单展开状态 */
  .context-menu.show {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }

  /* 右键菜单项样式 */
  .context-menu-item {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 15px;
    color: white;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    white-space: nowrap;
  }

  .context-menu-item:last-child {
    border-bottom: none;
  }

  .context-menu-item:hover {
    background: rgba(100, 217, 254, 0.15);
    color: #64d9fe;
  }

  .context-menu-item:active {
    background: rgba(100, 217, 254, 0.25);
    transform: scale(0.98);
  }

  /* 禁用状态 */
  .context-menu-item.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
  }

  /* 搜索栏样式 */
  .search-container {
    /* 基本样式 */
    width: 50%;
    height: 40px;
    position: relative;
    display: flex;
    justify-content: center;
    top: 10px; /* 与下载按钮顶部对齐 */
    left: calc(120px); /* 放在下载按钮右侧，间隔 10px */
    /* transform: translateX(-50%); */
    /* overflow: hidden; */
    border-radius: 15px;
  }

  .search-bar {
    /* 搜索框样式 - 与按钮组统一的现代拟态风格 */
    width: 60vw;
    height: 42px;
    border-radius: 24px;
    color: rgba(255, 255, 255, 0.9);
    padding: 0 20px;
    outline: none;
    font-size: 13.5px;
    font-weight: 500;
    cursor: text;

    /* 微曲面渐变背景 + 顶部高光 + 多层阴影 */
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.09) 0%,
      rgba(255, 255, 255, 0.03) 100%
    );
    backdrop-filter: blur(20px) saturate(140%);
    -webkit-backdrop-filter: blur(20px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow:
      0 4px 12px rgba(0, 0, 0, 0.15),
      inset 0 1px 1px rgba(255, 255, 255, 0.15);
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .search-bar:hover {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.12) 0%,
      rgba(255, 255, 255, 0.05) 100%
    );
    border-top-color: rgba(255, 255, 255, 0.35);
    box-shadow:
      0 6px 16px rgba(0, 0, 0, 0.2),
      inset 0 1px 1px rgba(255, 255, 255, 0.25);
  }

  .search-bar:focus {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.14) 0%,
      rgba(255, 255, 255, 0.06) 100%
    );
    border-top-color: rgba(255, 255, 255, 0.45);
    border-bottom-color: rgba(255, 255, 255, 0.18);
    box-shadow:
      0 6px 20px rgba(0, 0, 0, 0.25),
      inset 0 1px 1px rgba(255, 255, 255, 0.3);
    color: #ffffff;
  }

  .search-bar::placeholder {
    color: rgba(255, 255, 255, 0.55);
    font-weight: 400;
  }

  .search-btn {
    /* 搜索按钮样式 - 深色磨砂玻璃 */
    width: 100px;
    height: 42px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
    border-radius: 24px;
    margin-left: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;

    /* 深色磨砂玻璃风格 */
    background: linear-gradient(
      135deg,
      rgba(55, 55, 60, 0.85) 0%,
      rgba(40, 40, 45, 0.75) 100%
    );
    backdrop-filter: blur(20px) saturate(170%);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    box-shadow:
      0 3px 12px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    border: 1.5px solid rgba(255, 255, 255, 0.18);
    transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
    cursor: pointer;
  }

  .search-btn:hover {
    background: linear-gradient(
      135deg,
      rgba(65, 65, 70, 0.9) 0%,
      rgba(50, 50, 55, 0.8) 100%
    );
    border-color: rgba(255, 255, 255, 0.25);
  }

  .search-btn:active {
    transform: translateY(0px) scale(0.98);
  }
  /* ===== AI记忆页面 - 全屏岛式布局 ===== */
  .AI_Notes {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
  }

  /* ===== 顶部工具栏 ===== */
  .memory-page-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px 10px 16px;
    gap: 10px;
    flex-shrink: 0;
  }

  .memory-toolbar-left {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    flex-shrink: 0;
  }

  .memory_refresh {
    height: 34px;
    padding: 0 14px;
    border-radius: 20px;
    border: none;
    outline: none;
    font-size: 13px;
    font-weight: 500;
    color: white;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    white-space: nowrap;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .memory_refresh:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
  }

  .memory_refresh:active {
    transform: scale(0.95);
  }

  .memory-ai-group-btn {
    height: 34px;
    padding: 0 14px;
    border-radius: 20px;
    border: none;
    outline: none;
    font-size: 13px;
    font-weight: 500;
    color: white;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    white-space: nowrap;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .memory-ai-group-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
  }

  .memory-ai-group-btn:active {
    transform: scale(0.95);
  }

  .memory-ai-group-btn.loading {
    opacity: 0.6;
    pointer-events: none;
  }

  .memory-reset-group-btn {
    height: 34px;
    padding: 0 14px;
    border-radius: 20px;
    border: none;
    outline: none;
    font-size: 13px;
    font-weight: 500;
    color: white;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    white-space: nowrap;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .memory-reset-group-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
  }

  .memory-reset-group-btn:active {
    transform: scale(0.95);
  }

  .memory-back-btn {
    height: 34px;
    padding: 0 14px;
    border-radius: 20px;
    border: none;
    outline: none;
    font-size: 13px;
    font-weight: 500;
    color: white;
    cursor: pointer;
    display: none;
    justify-content: center;
    align-items: center;
    user-select: none;
    white-space: nowrap;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .memory-back-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
  }

  .memory-back-btn:active {
    transform: scale(0.95);
  }

  /* ===== 搜索框 ===== */
  .memory-search-box {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    flex: 1;
    max-width: 320px;
  }

  .memory-search-input {
    flex: 1;
    min-height: 34px;
    max-height: 60px;
    border-radius: 10px;
    border: none;
    outline: none;
    font-size: 13px;
    padding: 7px 12px;
    color: white;
    caret-color: #52c41a;
    box-sizing: border-box;
    resize: none;
    overflow-y: auto;
    line-height: 1.5;
    font-family: inherit;
    scrollbar-width: none;
    -ms-overflow-style: none;

    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px) saturate(150%);
    -webkit-backdrop-filter: blur(12px) saturate(150%);
    box-shadow: inset 0 1px 3px rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition:
      border-color 0.3s,
      height 0.15s ease;
  }

  .memory-search-input::-webkit-scrollbar {
    width: 0;
    display: none;
  }

  .memory-search-input:focus {
    border-color: rgba(255, 255, 255, 0.4);
  }

  .memory-search-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
  }

  .memory-ai-search-btn {
    height: 34px;
    padding: 0 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    white-space: nowrap;
    flex-shrink: 0;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .memory-ai-search-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
  }

  .memory-ai-search-btn:active {
    transform: scale(0.95);
  }

  .memory-ai-search-btn.loading {
    opacity: 0.6;
    pointer-events: none;
  }

  /* ===== 分组标签栏 ===== */
  .memory-group-tabs {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 16px 10px 16px;
    overflow-x: auto;
    scrollbar-width: none;
    flex-shrink: 0;
    -webkit-overflow-scrolling: touch;
  }

  .memory-group-tabs::-webkit-scrollbar {
    display: none;
  }

  .memory-group-tab {
    height: 28px;
    padding: 0 12px;
    border-radius: 14px;
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    flex-shrink: 0;

    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: all 0.25s ease;
  }

  .memory-group-tab:hover {
    background: rgba(255, 255, 255, 0.12);
    color: white;
  }

  .memory-group-tab.active {
    color: white;
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.35);
    box-shadow: 0 2px 8px rgba(255, 255, 255, 0.08);
  }

  /* ===== 主内容区域 - 岛式布局 ===== */
  .memory-page-content {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 0 16px 8px 16px;
    box-sizing: border-box;
    display: flex;
    gap: 16px;
  }

  .memory-page-content::-webkit-scrollbar {
    display: none;
  }

  /* ===== 岛模块 ===== */
  .memory-island {
    flex: 1;
    min-width: 0;
    min-height: 120px;
    height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    padding: 12px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
  }

  .memory_display_box {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .memory_display_box::-webkit-scrollbar {
    display: none;
  }

  .todo-island {
    flex: 0 0 320px;
    min-height: 100px;
    height: 100%;
    overflow-y: auto;
    scrollbar-width: none;
  }

  .todo-island::-webkit-scrollbar {
    display: none;
  }

  .island-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px 10px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 10px;
    flex-shrink: 0;
  }

  .island-title {
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    user-select: none;
  }

  .island-count {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.08);
    padding: 2px 8px;
    border-radius: 10px;
    user-select: none;
  }

  /* ===== AI待办岛 ===== */
  .todo-display-box {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: none;
  }

  .todo-display-box::-webkit-scrollbar {
    display: none;
  }

  .todo-empty-hint {
    text-align: center;
    color: rgba(255, 255, 255, 0.3);
    font-size: 13px;
    padding: 20px 0;
    user-select: none;
  }

  .todo-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    margin-bottom: 6px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease;
  }

  .todo-item:hover {
    background: rgba(255, 255, 255, 0.1);
  }

  .todo-item.completed {
    opacity: 0.5;
  }

  .todo-checkbox {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
  }

  .todo-checkbox:hover {
    border-color: rgba(255, 255, 255, 0.6);
  }

  .todo-checkbox.checked {
    background: rgba(82, 196, 26, 0.6);
    border-color: rgba(82, 196, 26, 0.8);
  }

  .todo-checkbox.checked::after {
    content: "✓";
    color: white;
    font-size: 11px;
  }

  .todo-content {
    flex: 1;
    min-width: 0;
  }

  .todo-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.4;
    word-break: break-all;
  }

  .todo-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    flex-wrap: wrap;
  }

  .todo-time {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    white-space: nowrap;
  }

  .todo-source {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.06);
    padding: 1px 6px;
    border-radius: 4px;
    white-space: nowrap;
  }

  .todo-delete-time {
    font-size: 11px;
    color: rgba(255, 180, 80, 0.7);
    white-space: nowrap;
  }

  .todo-delete-btn {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.3);
    font-size: 12px;
    flex-shrink: 0;
    transition: all 0.2s ease;
    opacity: 0;
  }

  .todo-item:hover .todo-delete-btn {
    opacity: 1;
  }

  .todo-delete-btn:hover {
    background: rgba(255, 80, 80, 0.2);
    color: rgba(255, 80, 80, 0.8);
  }

  /* ===== 记忆列表区域 ===== */
  .memory_display_box {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: none;
    padding: 0;
    box-sizing: border-box;
  }

  .memory_display_box::-webkit-scrollbar {
    display: none;
  }

  /* ===== 记忆卡片 ===== */
  .memory_display_box_son {
    width: 100%;
    min-height: 36px !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 7px 12px !important;
    margin-bottom: 5px !important;
    color: white;
    border-radius: 10px;
    gap: 6px 8px;
    box-sizing: border-box;
    transition: all 0.25s ease;

    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(12px) saturate(150%);
    -webkit-backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.12);
  }

  .memory_display_box_son:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
  }

  .memory_display_box_son.ai-matched {
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.12);
    box-shadow:
      0 2px 12px rgba(255, 255, 255, 0.08),
      inset 0 1px 2px rgba(255, 255, 255, 0.15);
  }

  .memory-card-group-tag {
    height: 22px;
    padding: 0 8px;
    border-radius: 6px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    flex-shrink: 0;
    cursor: pointer;
    user-select: none;

    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: all 0.2s ease;
  }

  .memory-card-group-tag:hover {
    background: rgba(255, 255, 255, 0.15);
    color: white;
  }

  .memory-card-reset-tag {
    height: 22px;
    padding: 0 8px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    user-select: none;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    flex-shrink: 0;
    white-space: nowrap;
    transition: all 0.2s ease;
  }

  .memory-card-reset-tag:hover {
    background: rgba(255, 255, 255, 0.15);
    color: white;
  }

  .memory-card-reset-tag:active {
    transform: scale(0.95);
  }

  .memory-card-time-tag {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    flex-shrink: 0;
    white-space: nowrap;
    user-select: none;
  }

  .memory_text {
    flex: 1 1 100%;
    font-size: 14px;
    line-height: 1.5;
    word-break: break-all;
    white-space: pre-wrap;
  }

  .memory_buttons {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
  }

  .id_memory_word_get {
    height: 28px;
    padding: 0 10px;
    color: white;
    font-size: 12px;
    font-weight: 500;
    border-radius: 20px;
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.2s ease;
  }

  .id_memory_word_get:hover {
    background: rgba(255, 255, 255, 0.15);
  }

  .id_memory_word_delete {
    width: 28px;
    height: 28px;
    color: white;
    border-radius: 20px;
    cursor: pointer;
    user-select: none;
    display: flex;
    justify-content: center;
    align-items: center;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.2s ease;
  }

  .id_memory_word_delete:hover {
    background: rgba(255, 255, 255, 0.18);
  }

  .id_memory_word_delete img {
    width: 14px;
    height: 14px;
    display: block;
  }

  /* ===== 分组选择器弹出层 ===== */
  .memory-group-selector {
    position: absolute;
    background: rgba(30, 30, 50, 0.85);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 8px;
    z-index: 1000;
    min-width: 120px;
    max-height: 200px;
    overflow-y: auto;
    scrollbar-width: none;
  }

  .memory-group-selector::-webkit-scrollbar {
    display: none;
  }

  .memory-group-selector-item {
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    transition: background 0.15s;
  }

  .memory-group-selector-item:hover {
    background: rgba(255, 255, 255, 0.12);
    color: white;
  }

  .memory-group-selector-input {
    width: calc(100% - 16px);
    height: 30px;
    margin: 4px 8px;
    padding: 0 8px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: white;
    font-size: 12px;
    outline: none;
    box-sizing: border-box;
  }

  .memory-group-selector-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
  }

  /* ===== AI分组提示词弹窗 ===== */
  .memory-group-hint-popup {
    position: fixed;
    min-width: 180px;
    padding: 6px;
    border-radius: 12px;
    z-index: 10001;
    background: rgba(30, 30, 40, 0.85);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .memory-group-hint-option {
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    transition: background 0.15s;
    user-select: none;
  }

  .memory-group-hint-option:hover {
    background: rgba(255, 255, 255, 0.12);
    color: white;
  }

  .memory-group-hint-option.reset {
    color: rgba(255, 100, 100, 0.85);
  }

  .memory-group-hint-option.reset:hover {
    background: rgba(255, 80, 80, 0.15);
    color: #ff6b6b;
  }

  .memory-group-hint-custom {
    display: flex;
    gap: 6px;
    padding: 4px 6px;
    margin-top: 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 8px;
  }

  .memory-group-hint-input {
    flex: 1;
    height: 30px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: white;
    font-size: 12px;
    padding: 0 10px;
    outline: none;
    box-sizing: border-box;
  }

  .memory-group-hint-input::placeholder {
    color: rgba(255, 255, 255, 0.35);
  }

  .memory-group-hint-input:focus {
    border-color: rgba(255, 255, 255, 0.35);
  }

  .memory-group-hint-send {
    height: 30px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.15s;
    flex-shrink: 0;
  }

  .memory-group-hint-send:hover {
    background: rgba(255, 255, 255, 0.18);
    color: white;
  }

  /* ===== 语音按钮 ===== */
  .memory-voice-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    user-select: none;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: all 0.2s ease;
  }

  .memory-voice-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
  }

  .memory-voice-btn.status-on {
    background: rgba(255, 80, 80, 0.25);
    border-color: rgba(255, 80, 80, 0.5);
    animation: memoryVoicePulse 1.2s infinite;
  }

  @keyframes memoryVoicePulse {
    0%,
    100% {
      box-shadow: 0 0 0 0 rgba(255, 80, 80, 0.3);
    }
    50% {
      box-shadow: 0 0 0 6px rgba(255, 80, 80, 0);
    }
  }

  /* ===== 底部添加区域 ===== */
  .memory-add-bar {
    padding: 8px 16px 40px 16px;
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
    position: relative;
    transition:
      background 0.2s,
      border-color 0.2s;
  }

  .memory-add-bar.drag-over {
    background: rgba(82, 196, 26, 0.08);
    outline: 2px dashed rgba(82, 196, 26, 0.5);
    outline-offset: -4px;
    border-radius: 12px;
  }

  .memory-attach-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: all 0.2s ease;
    user-select: none;
  }

  .memory-attach-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    color: white;
    border-color: rgba(255, 255, 255, 0.3);
  }

  .memory-attach-btn:active {
    transform: scale(0.95);
  }

  .memory-attach-preview {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 16px;
    right: 16px;
    padding: 10px 12px 8px;
    gap: 6px;
    flex-wrap: nowrap;
    z-index: 1;
    background: #333333;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
  }
  .memory-attach-preview::-webkit-scrollbar {
    display: none;
  }

  .memory-attach-preview.has-files {
    display: flex;
  }

  /* 记忆预览项复用对话文件预览标准样式 */
  .memory-attach-preview .chat-file-preview-item {
    max-width: 60px;
  }
  .memory-attach-preview .chat-file-preview-item img,
  .memory-attach-preview .chat-file-preview-item video {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 10px;
    flex-shrink: 0;
  }
  .memory-attach-preview .chat-file-preview-item .audio-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(156, 39, 176, 0.15);
    border: 1.5px solid rgba(156, 39, 176, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
  }

  .memory-add-input {
    flex: 1 1 0;
    min-width: 0;
    min-height: 32px;
    max-height: 120px;
    border-radius: 12px;
    border: none;
    outline: none;
    font-size: 13px;
    padding: 6px 12px;
    color: white;
    caret-color: #52c41a;
    box-sizing: border-box;
    resize: none;
    overflow-y: auto;
    line-height: 1.5;
    font-family: inherit;

    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(15px) saturate(160%);
    -webkit-backdrop-filter: blur(15px) saturate(160%);
    box-shadow: inset 0 1px 3px rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    scrollbar-width: none;
    -ms-overflow-style: none;
    transition:
      border-color 0.3s,
      height 0.15s ease;
  }

  .memory-add-input::-webkit-scrollbar {
    width: 0;
    display: none;
  }

  .memory-add-input:focus {
    border-color: rgba(255, 255, 255, 0.4);
  }

  .memory-add-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
  }

  .memory-send-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    outline: none;
    color: white;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    flex-shrink: 0;

    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
  }

  .memory-send-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
  }

  .memory-send-btn:active {
    transform: scale(0.95);
  }

  .memory-send-btn img {
    width: 18px;
    height: 18px;
    display: block;
  }

  /* ===== 导航菜单（内联在输入栏中） ===== */
  .memory-nav-inline {
    position: relative !important;
    flex-shrink: 0;
    width: 38px !important;
    height: 38px !important;
    bottom: auto !important;
    right: auto !important;
    z-index: 1;
    border-radius: 50% !important;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    /* 本身透明，毛玻璃由 ::before 承载以避免子节点 .memory-nav-menu 的 backdrop-filter 失效 */
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: rgba(255, 255, 255, 0.7);
    transition: all 0.2s ease;
    font-size: 16px;
  }

  .memory-nav-inline::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.08);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    backdrop-filter: blur(12px) saturate(140%);
    z-index: -1;
    transition: all 0.2s ease;
    pointer-events: none;
  }

  .memory-nav-inline:hover {
    color: white;
  }

  .memory-nav-inline:hover::before {
    background: rgba(255, 255, 255, 0.15);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
  }

  .memory-nav-inline img {
    width: 16px;
    height: 16px;
    display: block;
  }

  .memory-nav-menu {
    bottom: 100%;
    right: 0;
    left: auto;
    margin-bottom: 8px;
  }

  .memory-nav-item {
    width: 100px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    font-size: 19px;
    color: white;
    cursor: pointer;
    font-weight: 500;
    position: relative;
    transition: all 0.2s ease;
  }
  .memory-nav-item:hover {
    background: rgba(255, 255, 255, 0.15);
  }
  .memory-nav-item:active {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(0.95);
  }

  /* ===== 多媒体记忆卡片样式 ===== */
  .memory-media-container {
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
  }

  .memory-media-thumb {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.2s ease;
    position: relative;
  }

  .memory-media-thumb:hover {
    border-color: rgba(255, 255, 255, 0.4);
    transform: scale(1.03);
  }

  .memory-media-thumb img,
  .memory-media-thumb video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .memory-media-thumb .video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 14px;
  }

  .memory-audio-player {
    flex-basis: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
  }

  .memory-audio-player audio {
    flex: 1;
    height: 32px;
    max-width: 100%;
  }

  .memory-ai-desc {
    flex-basis: 100%;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    font-style: italic;
    padding: 4px 0 0 0;
    line-height: 1.4;
  }

  /* 文件数量角标 */
  .memory-media-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    background: rgba(0, 120, 255, 0.85);
    color: white;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    z-index: 2;
  }

  /* 音频缩略图图标 */
  .memory-media-audio-icon {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    background: rgba(255, 255, 255, 0.06);
  }

  /* ===== 相册式预览 ===== */
  .memory-gallery-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.92);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .memory-gallery-close {
    position: absolute;
    top: 16px;
    right: 20px;
    width: 40px;
    height: 40px;
    font-size: 28px;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    transition: all 0.2s;
    z-index: 2;
  }
  .memory-gallery-close:hover {
    color: white;
    background: rgba(255, 255, 255, 0.15);
  }

  .memory-gallery-counter {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
    font-weight: 500;
    z-index: 2;
  }

  .memory-gallery-content {
    max-width: 90vw;
    max-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .memory-gallery-img {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 6px;
    user-select: none;
    -webkit-user-drag: none;
  }

  .memory-gallery-video {
    max-width: 90vw;
    max-height: 85vh;
    border-radius: 6px;
    outline: none;
  }

  .memory-gallery-audio-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 40px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
  }
  .memory-gallery-audio-icon {
    font-size: 60px;
  }
  .memory-gallery-audio-name {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    max-width: 300px;
    text-align: center;
    word-break: break-all;
  }
  .memory-gallery-audio {
    width: 320px;
    max-width: 80vw;
  }

  .memory-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    font-size: 32px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    transition: all 0.2s;
    user-select: none;
    z-index: 2;
  }
  .memory-gallery-arrow:hover {
    color: white;
    background: rgba(255, 255, 255, 0.18);
  }
  .memory-gallery-prev {
    left: 16px;
  }
  .memory-gallery-next {
    right: 16px;
  }

  /* ===== AI_URL 遮罩层 ===== */
  .AI_URL_overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 999;
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
  }
  .AI_URL_overlay.show {
    opacity: 1;
    pointer-events: auto;
  }

  /* ===== AI_URL 弹窗主体 ===== */
  .AI_URL {
    width: 340px;
    border-radius: 24px;
    display: none;
    flex-direction: column;

    /* 液态玻璃特效样式 */
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 16px;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;

    /* 动画效果 */
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
    transform-origin: center center;
    transition: all 0.6s cubic-bezier(0.34, 1.26, 0.64, 1);
    pointer-events: none;
  }

  .AI_URL.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }

  /* ===== AI_URL 头部 ===== */
  .AI_URL_header {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
  }
  .AI_URL_back {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.12);
    color: white;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
  }
  .AI_URL_back:hover {
    background: rgba(255, 255, 255, 0.22);
    transform: scale(1.08);
  }
  .AI_URL_title {
    flex: 1;
    text-align: center;
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    font-weight: 500;
    margin-right: 32px; /* 平衡返回按钮宽度，让标题视觉居中 */
  }

  /* ===== AI_URL 内容区 ===== */
  .AI_URL_body {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .AI_URL_text {
    width: 100%;
    height: 38px;
    background: rgba(255, 255, 255, 0.08);
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    border-radius: 14px;
    color: white;
    outline: none;
    padding: 0 14px;
    box-sizing: border-box;
    font-size: 13px;
    transition: border-color 0.2s ease;
  }
  .AI_URL_text:focus {
    border-color: rgba(160, 232, 215, 0.6);
  }
  .AI_URL_text::placeholder {
    color: rgba(255, 255, 255, 0.35);
  }
  .AI_URL_divider {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.35);
    font-size: 12px;
  }
  .AI_URL_divider::before,
  .AI_URL_divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
  }
  .AI_file_button {
    width: 100%;
    height: 42px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    border-radius: 14px;
    color: white;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.25s cubic-bezier(0.34, 1.3, 0.64, 1);
    user-select: none;
  }
  .AI_file_button:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: scale(1.02);
    border-color: rgba(160, 232, 215, 0.5);
  }

  /* ===== 对话文件预览项（含状态+删除按钮）===== */
  .chat-file-preview-item {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    transition:
      max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
      opacity 0.2s ease,
      transform 0.25s ease,
      margin 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 100px;
  }
  .chat-file-preview-item.removing {
    max-width: 0 !important;
    margin-left: -3px !important;
    margin-right: -3px !important;
    opacity: 0;
    transform: scale(0);
    overflow: hidden;
    pointer-events: none;
  }
  .chat-file-preview-status {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    z-index: 2;
    pointer-events: none;
  }
  .chat-file-preview-status.uploading {
    background: rgba(255, 193, 7, 0.9);
    color: #fff;
    animation: chatFileStatusPulse 1.2s ease-in-out infinite;
  }
  .chat-file-preview-status.done {
    background: rgba(76, 175, 80, 0.9);
    color: #fff;
  }
  .chat-file-preview-status.error {
    background: rgba(244, 67, 54, 0.9);
    color: #fff;
  }
  @keyframes chatFileStatusPulse {
    0%,
    100% {
      opacity: 1;
      transform: scale(1);
    }
    50% {
      opacity: 0.6;
      transform: scale(0.85);
    }
  }
  .chat-file-preview-remove {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: white;
    font-size: 11px;
    line-height: 16px;
    text-align: center;
    cursor: pointer;
    z-index: 3;
    opacity: 0;
    transition:
      opacity 0.15s ease,
      transform 0.15s ease;
    user-select: none;
  }
  .chat-file-preview-item:hover .chat-file-preview-remove {
    opacity: 1;
  }
  .chat-file-preview-remove:hover {
    background: rgba(244, 67, 54, 0.85);
    transform: scale(1.15);
  }

  /* 手机端：×删除按钮始终可见（无hover） */
  @media (hover: none) {
    .chat-file-preview-remove {
      opacity: 0.7 !important;
    }
  }

  @media screen and (max-width: 768px) {
    /* 手机端*/

    /* ===== AI记忆页面移动端布局适配（仅布局，不改样式） ===== */
    .memory-page-toolbar {
      padding: 10px 12px 6px 12px !important;
      flex-wrap: wrap !important;
      gap: 6px !important;
    }

    .memory-toolbar-left {
      gap: 4px !important;
    }

    .memory_refresh,
    .memory-ai-group-btn,
    .memory-reset-group-btn,
    .memory-back-btn {
      height: 30px !important;
      padding: 0 10px !important;
      font-size: 12px !important;
    }

    .memory-search-box {
      flex: 1 !important;
      min-width: 120px !important;
    }

    .memory-search-input {
      font-size: 13px !important;
    }

    .memory-group-tabs {
      padding: 0 12px 6px 12px !important;
    }

    .memory-page-content {
      flex-direction: column !important;
      padding: 0 10px 8px 10px !important;
      gap: 10px !important;
      min-height: 0 !important;
      overflow: hidden !important;
    }

    .todo-island {
      flex: 0 0 auto !important;
      max-height: 200px !important;
      min-height: 80px !important;
    }

    .memory-island {
      flex: 1 !important;
      min-height: 100px !important;
    }

    .island-header {
      padding: 0 4px 8px 4px !important;
    }

    .island-title {
      font-size: 14px !important;
    }

    .todo-delete-btn {
      opacity: 1 !important;
    }

    .memory-add-bar {
      padding: 8px 10px 12px 10px !important;
      gap: 6px !important;
    }

    .memory-add-input {
      font-size: 14px !important;
    }

    .memory-attach-btn {
      width: 34px !important;
      height: 34px !important;
    }

    .memory-nav-inline {
      position: relative !important;
      width: 34px !important;
      height: 34px !important;
      bottom: auto !important;
      right: auto !important;
      background: rgba(255, 255, 255, 0.08) !important;
      border: 1px solid rgba(255, 255, 255, 0.18) !important;
      border-radius: 50% !important;
    }

    .memory-voice-btn {
      width: 34px !important;
      height: 34px !important;
    }

    .memory-send-btn {
      width: 34px !important;
      height: 34px !important;
    }

    .memory-media-thumb {
      width: 60px !important;
      height: 60px !important;
    }

    /* 右键菜单遮罩层已禁用 */

    /* 面包屑导航移动端优化 */
    .breadcrumb-nav {
      width: calc(75vw - 20px);
      padding: 5px 10px;
      font-size: 12px;
      height: 12px;
      margin: 20px auto -30px;
      background: transparent !important;
      border: none !important;
      /* 确保移动端也隐藏滚动条 */
      scrollbar-width: none !important;
      -ms-overflow-style: none !important;
      /* 移动端平滑滚动 */
      scroll-behavior: smooth !important;
      /* iOS弹性滚动 */
      -webkit-overflow-scrolling: touch;
    }

    .breadcrumb-item {
      padding: 3px 8px;
      font-size: 12px;
    }

    .breadcrumb-separator {
      margin: 0 5px;
      font-size: 11px;
    }

    .breadcrumb-item .icon {
      font-size: 14px;
      margin-right: 3px;
    }

    /* ===== AI点击模块移动端适配（模糊风格） ===== */
    .AI_auto_cruise_input {
      background: rgba(255, 255, 255, 0.15) !important;
      border: 1.5px solid rgba(100, 217, 254, 0.4) !important;
      color: rgba(255, 255, 255, 0.9) !important;
      font-weight: 600 !important;
      backdrop-filter: blur(20px) saturate(180%) !important;
      -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
      text-shadow: none !important;
    }

    .AI_auto_cruise_input::placeholder {
      color: rgba(255, 255, 255, 0.45) !important;
      text-shadow: none !important;
    }

    .AI_auto_cruise_border {
      background: rgba(255, 255, 255, 0.04) !important;
      border: 1px solid rgba(255, 255, 255, 0.15) !important;
      color: rgba(240, 250, 255, 0.95) !important;
      text-shadow: none !important;
    }

    .AI_auto_cruise_input_seed {
      background: transparent !important;
      color: rgb(1, 235, 252) !important;
      border: 2px solid rgb(1, 235, 252) !important;
      box-shadow:
        0px 0px 100px rgb(1, 235, 252),
        inset 0px 0px 10px rgb(1, 235, 252),
        0px 0px 5px rgb(255, 255, 255) !important;
    }

    .AI_auto_cruise_input_seed.show {
      opacity: 1 !important;
    }

    .AI_auto_cruise_input_seed.show:active {
      opacity: 1 !important;
      box-shadow:
        0px 0px 150px rgb(1, 235, 252),
        0px 0px 80px rgba(1, 235, 252, 0.6),
        inset 0px 0px 15px rgb(1, 235, 252),
        0px 0px 8px rgb(255, 255, 255) !important;
      filter: drop-shadow(0px 0px 40px rgba(1, 235, 252, 0.8)) !important;
    }

    .AI_auto_cruise_alert_btn {
      background: transparent !important;
      color: rgb(255, 200, 100) !important;
      border: 2px solid rgb(255, 200, 100) !important;
      box-shadow:
        0px 0px 100px rgb(255, 200, 100),
        inset 0px 0px 10px rgb(255, 200, 100),
        0px 0px 5px rgb(255, 255, 255) !important;
    }

    .AI_auto_cruise_alert_btn.show {
      opacity: 1 !important;
    }

    .AI_auto_cruise_alert_btn.show:active {
      opacity: 1 !important;
      box-shadow:
        0px 0px 150px rgb(255, 200, 100),
        0px 0px 80px rgba(255, 200, 100, 0.6),
        inset 0px 0px 15px rgb(255, 200, 100),
        0px 0px 8px rgb(255, 255, 255) !important;
      filter: drop-shadow(0px 0px 40px rgba(255, 200, 100, 0.8)) !important;
    }

    /* ===== 设备列表移动端适配 ===== */
    .device-list-container {
      width: 90vw !important;
      max-width: 360px !important;
      max-height: 70vh !important;
      position: fixed !important;
    }

    .device-list-header {
      height: 55px !important;
      padding: 0 16px !important;
    }

    .device-list-title {
      font-size: 17px !important;
      font-weight: 700 !important;
    }

    .device-list-close {
      width: 30px !important;
      height: 30px !important;
      font-size: 16px !important;
    }

    .device-list-content {
      max-height: calc(70vh - 55px) !important;
      padding: 10px !important;

      /* ✅ 隐藏滚动条（保留滚动功能） */
      scrollbar-width: none !important; /* Firefox */
      -ms-overflow-style: none !important; /* IE/Edge */
    }

    .device-list-content::-webkit-scrollbar {
      display: none !important; /* Chrome/Safari/Opera */
    }

    .device-item {
      padding: 14px 16px !important;
      margin-bottom: 8px !important;
    }

    .device-type {
      font-size: 15px !important;
      font-weight: 700 !important;
      flex-wrap: wrap !important;
    }

    /* 手机端当前设备标签样式 */
    .current-device-tag {
      font-size: 10px !important;
      padding: 1px 6px !important;
      margin-left: 2px !important;
      color: rgba(255, 255, 255, 0.98) !important;
      background: linear-gradient(
        135deg,
        rgba(52, 199, 89, 0.9),
        rgba(48, 209, 88, 0.9)
      ) !important;
    }

    .device-browser,
    .device-time {
      font-size: 12px !important;
    }

    .device-list-empty {
      font-size: 13px !important;
      padding: 30px 20px !important;
    }

    /* 手机端对比按钮样式 */
    .device-action-btn.compare-btn {
      width: 30px !important;
      height: 30px !important;
      font-size: 13px !important;
    }

    .device-action-btn.compare-btn:active {
      transform: scale(0.95) !important;
    }

    /* 手机端设备操作按钮 */
    .device-action-btn {
      width: 34px !important;
      height: 34px !important;
      font-size: 15px !important;
    }

    /* ===== 轻提醒弹窗移动端适配 ===== */
    .Pop-up_not_important {
      max-width: calc(100vw - 32px) !important;
      font-size: 13px !important;
      padding: 10px 16px !important;
      box-sizing: border-box !important;
      font-weight: 700 !important;
    }

    .Pop-up_not_important.with-image {
      padding: 10px 14px !important;
    }

    .Pop-up_not_important .popup-icon {
      width: 20px !important;
      height: 20px !important;
    }

    /* 移动端加载图标旋转动画（性能优化） */
    .Pop-up_not_important .popup-icon.loading {
      /* 使用GPU加速，提升移动端性能 */
      will-change: transform;
      transform: translateZ(0);
    }

    /* ===== 强提醒弹窗移动端适配 ===== */
    .Pop-up {
      background: rgba(0, 0, 0, 0.75) !important;
      backdrop-filter: blur(4px) !important;
      -webkit-backdrop-filter: blur(4px) !important;
    }

    .Pop-up_win {
      width: 90% !important;
      max-width: 320px !important;
      min-height: 160px !important;
      padding: 30px 20px 20px 20px !important;
      box-sizing: border-box !important;
      font-weight: 700 !important;
    }

    /* 加载图标移动端 */
    .popup-loading-icon {
      width: 38px !important;
      height: 38px !important;
      margin-bottom: 16px !important;
    }

    /* 文本内容移动端 */
    .popup-text-content {
      font-size: 15px !important;
      margin-bottom: 12px !important;
    }

    /* 进度条移动端 */
    .popup-progress-container {
      height: 5px !important;
      margin-top: 12px !important;
    }

    /* ===== AI URL弹窗移动端适配 ===== */
    .AI_URL_overlay {
      background: rgba(0, 0, 0, 0.4) !important;
      backdrop-filter: none !important;
    }
    .AI_URL {
      width: calc(100% - 40px) !important;
      max-width: 340px !important;
      background: rgba(30, 30, 50, 0.85) !important;
      box-shadow:
        0 10px 32px rgba(0, 0, 0, 0.5),
        0 0 0 2px rgba(255, 255, 255, 0.15) inset !important;
      box-sizing: border-box !important;
    }
    .AI_URL_back {
      background: rgba(255, 255, 255, 0.1) !important;
      color: white !important;
    }
    .AI_URL_title {
      color: rgba(255, 255, 255, 0.85) !important;
    }
    .AI_URL_text {
      background: rgba(255, 255, 255, 0.06) !important;
      border-color: rgba(255, 255, 255, 0.2) !important;
      color: white !important;
    }
    .AI_URL_text::placeholder {
      color: rgba(255, 255, 255, 0.35) !important;
    }
    .AI_URL_divider {
      color: rgba(255, 255, 255, 0.3) !important;
    }
    .AI_URL_divider::before,
    .AI_URL_divider::after {
      background: rgba(255, 255, 255, 0.12) !important;
    }
    .AI_file_button {
      background: rgba(255, 255, 255, 0.08) !important;
      border-color: rgba(255, 255, 255, 0.2) !important;
      color: white !important;
    }

    /* ===== 用户文件URL框移动端适配 ===== */
    .user-file-url-box {
      margin: 5px 0 10px auto !important;
      display: flex !important;
      justify-content: flex-end !important;
    }

    .file-url-content {
      max-width: 90% !important;
      padding: 6px 10px !important;
      border-radius: 10px !important;
    }

    .file-icon {
      font-size: 14px !important;
      margin-right: 4px !important;
    }

    .file-type {
      font-size: 11px !important;
      margin-right: 4px !important;
    }

    .file-url-link {
      font-size: 10px !important;
    }

    /* 文件列表项样式 - 柔和亮度适配 */
    .download-item {
      background: rgba(255, 255, 255, 0.15) !important;
      border-left: 3px solid transparent !important;
      color: white !important;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    }

    .download-item.selected {
      background: linear-gradient(
        135deg,
        rgba(100, 217, 254, 0.35) 0%,
        rgba(147, 51, 234, 0.25) 100%
      ) !important;
      border-left: 4px solid #64d9fe !important;
      color: white !important;
    }

    /* 文件名文字颜色 */
    .download-item-name {
      color: white !important;
    }

    /* 文件夹名称颜色（移动端） */
    .download-item[data-is-folder="true"] .download-item-name {
      color: #52c41a !important;
    }

    /* 网格视图中文件夹名称改为白色（移动端） */
    .download-list.grid-view
      .download-item[data-is-folder="true"]
      .download-item-name {
      color: white !important;
    }

    /* 返回上一级按钮颜色（移动端） */
    .download-item[data-is-back-button="true"] .download-item-name {
      color: #1890ff !important;
    }

    /* 菜单按钮样式 - 玻璃拟态风格 */
    .menu,
    .menu_son,
    .menu_son_1 {
      background: rgba(255, 255, 255, 0.04) !important;
      backdrop-filter: blur(20px) saturate(180%) !important;
      -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
      border: 1px solid rgba(255, 255, 255, 0.15) !important;
      box-sizing: border-box !important;
    }

    /* AI输入框 - 不使用backdrop-filter，避免影响子菜单的模糊效果 */
    .AI_border_send {
      background: rgba(255, 255, 255, 0.04) !important;
      border: 1px solid rgba(255, 255, 255, 0.15) !important;
      box-sizing: border-box !important;
    }

    .AI_custom_dropdown {
      min-width: 185px;
      max-height: min(52vh, 360px);
      right: -5px;
    }

    /* 强制应用第一个移动端媒体查询中的玻璃效果 */
    .AI_custom_dropdown,
    body .AI_custom_dropdown,
    * .AI_custom_dropdown {
      background: rgba(255, 255, 255, 0.04) !important;
      backdrop-filter: blur(20px) saturate(180%) !important;
      -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
      border: 1px solid rgba(255, 255, 255, 0.15) !important;
    }

    .menu_son,
    .menu_son_1 {
      color: rgba(255, 255, 255, 0.9) !important;
      font-weight: 500 !important;
    }

    .AI_custom_model_option {
      color: rgba(255, 255, 255, 0.75) !important;
    }

    .AI_custom_model_option:hover {
      background: rgba(255, 255, 255, 0.06) !important;
      color: rgba(255, 255, 255, 0.95) !important;
    }

    .AI_custom_dropdown_title {
      color: rgba(160, 232, 215, 0.55) !important;
    }

    .AI_custom_dropdown_title ~ .AI_custom_dropdown_title {
      border-top-color: rgba(255, 255, 255, 0.05) !important;
    }

    .AI_custom_model_option.selected {
      background: rgba(100, 217, 254, 0.1) !important;
      color: rgb(130, 220, 245) !important;
    }

    .AI_custom_model_option.selected::before {
      background: rgb(100, 217, 254) !important;
    }

    /* 浏览文件按钮 - 玻璃拟态风格 */
    .I_file_browse {
      background: rgba(255, 255, 255, 0.04) !important;
      color: rgb(0, 255, 127) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 1px solid rgba(0, 255, 127, 0.3) !important;
      backdrop-filter: blur(18px) saturate(160%) !important;
      -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .I_file_browse:hover {
      background: rgba(255, 255, 255, 0.08) !important;
      border-color: rgba(0, 255, 127, 0.5) !important;
    }

    .I_file_browse:active {
      transform: scale(0.95) !important;
    }

    /* 上传文件按钮 - 玻璃拟态风格 */
    .I_file_upload {
      background: rgba(255, 255, 255, 0.04) !important;
      color: rgb(1, 235, 252) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 1px solid rgba(1, 235, 252, 0.3) !important;
      backdrop-filter: blur(18px) saturate(160%) !important;
      -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .I_file_upload:hover {
      background: rgba(255, 255, 255, 0.08) !important;
      border-color: rgba(1, 235, 252, 0.5) !important;
    }

    .I_file_upload:active {
      transform: scale(0.95) !important;
    }

    /* 下载按钮 - 玻璃拟态风格 */
    .download-btn {
      background: rgba(255, 255, 255, 0.04) !important;
      color: rgb(238, 130, 238) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 1px solid rgba(238, 130, 238, 0.3) !important;
      backdrop-filter: blur(18px) saturate(160%) !important;
      -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .download-btn:hover {
      background: rgba(255, 255, 255, 0.08) !important;
      border-color: rgba(238, 130, 238, 0.5) !important;
    }

    .download-btn:active {
      transform: scale(0.95) !important;
    }

    /* 删除按钮 - 红色发光效果 */
    .delete-file-btn {
      background: transparent !important;
      color: rgb(255, 67, 67) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 2px solid rgb(255, 67, 67) !important;
      box-shadow:
        0px 0px 100px rgb(255, 67, 67),
        inset 0px 0px 10px rgb(255, 67, 67),
        0px 0px 5px rgb(255, 255, 255) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .delete-file-btn:active {
      opacity: 1 !important;
      box-shadow:
        0px 0px 150px rgb(255, 67, 67),
        0px 0px 80px rgba(255, 67, 67, 0.6),
        inset 0px 0px 15px rgb(255, 67, 67),
        0px 0px 8px rgb(255, 255, 255) !important;
      filter: drop-shadow(0px 0px 40px rgba(255, 67, 67, 0.8)) !important;
      transform: scale(1) !important;
    }

    /* 重命名按钮 - 橙色发光效果 */
    .rename-file-btn {
      background: transparent !important;
      color: rgb(255, 152, 0) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 2px solid rgb(255, 152, 0) !important;
      box-shadow:
        0px 0px 100px rgb(255, 152, 0),
        inset 0px 0px 10px rgb(255, 152, 0),
        0px 0px 5px rgb(255, 255, 255) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .rename-file-btn:active {
      opacity: 1 !important;
      box-shadow:
        0px 0px 150px rgb(255, 152, 0),
        0px 0px 80px rgba(255, 152, 0, 0.6),
        inset 0px 0px 15px rgb(255, 152, 0),
        0px 0px 8px rgb(255, 255, 255) !important;
      filter: drop-shadow(0px 0px 40px rgba(255, 152, 0, 0.8)) !important;
      transform: scale(1) !important;
    }

    /* 获取链接按钮 - 黄色发光效果 */
    .get_direct_link_name {
      background: transparent !important;
      color: rgb(255, 235, 59) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 2px solid rgb(255, 235, 59) !important;
      box-shadow:
        0px 0px 100px rgb(255, 235, 59),
        inset 0px 0px 10px rgb(255, 235, 59),
        0px 0px 5px rgb(255, 255, 255) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .get_direct_link_name:active {
      opacity: 1 !important;
      box-shadow:
        0px 0px 150px rgb(255, 235, 59),
        0px 0px 80px rgba(255, 235, 59, 0.6),
        inset 0px 0px 15px rgb(255, 235, 59),
        0px 0px 8px rgb(255, 255, 255) !important;
      filter: drop-shadow(0px 0px 40px rgba(255, 235, 59, 0.8)) !important;
      transform: scale(1) !important;
    }

    /* 新建文件夹按钮 - 亮绿色发光效果 */
    .create-folder-btn {
      background: transparent !important;
      color: rgb(0, 255, 50) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 2px solid rgb(0, 255, 50) !important;
      box-shadow:
        0px 0px 100px rgb(0, 255, 50),
        inset 0px 0px 10px rgb(0, 255, 50),
        0px 0px 5px rgb(255, 255, 255) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .create-folder-btn:active {
      opacity: 1 !important;
      box-shadow:
        0px 0px 150px rgb(0, 255, 50),
        0px 0px 80px rgba(0, 255, 50, 0.6),
        inset 0px 0px 15px rgb(0, 255, 50),
        0px 0px 8px rgb(255, 255, 255) !important;
      filter: drop-shadow(0px 0px 40px rgba(0, 255, 50, 0.8)) !important;
      transform: scale(1) !important;
    }

    /* 设置按钮 - 银白色发光效果 */
    .file-settings-btn {
      background: transparent !important;
      color: rgb(200, 200, 200) !important;
      font-weight: 500 !important;
      text-shadow: none !important;
      border: 2px solid rgb(200, 200, 200) !important;
      box-shadow:
        0px 0px 100px rgb(200, 200, 200),
        inset 0px 0px 10px rgb(200, 200, 200),
        0px 0px 5px rgb(255, 255, 255) !important;
      box-sizing: border-box !important;
      opacity: 1 !important;
      transition: all 0.3s ease !important;
    }

    .file-settings-btn:active {
      opacity: 1 !important;
      box-shadow:
        0px 0px 150px rgb(200, 200, 200),
        0px 0px 80px rgba(200, 200, 200, 0.6),
        inset 0px 0px 15px rgb(200, 200, 200),
        0px 0px 8px rgb(255, 255, 255) !important;
      filter: drop-shadow(0px 0px 40px rgba(200, 200, 200, 0.8)) !important;
      transform: scale(1) !important;
    }

    .file-settings-menu-item:active {
      transform: scale(0.95) !important;
    }

    /* 移动端浏览文件选择菜单 */
    .browse-select-menu {
      width: 110px !important;
    }

    .browse-select-menu-item:active {
      transform: scale(0.95) !important;
    }

    /* 移动端文件重名弹窗 */
    .duplicate-dialog {
      width: 90% !important;
      max-width: 300px !important;
    }

    .duplicate-dialog-title {
      font-size: 15px !important;
    }

    /* 文件管理的主框 */
    .Upload_border,
    .download-box {
      box-sizing: border-box !important;
    }

    /* 文件类型标签 - 深色磨砂玻璃（移动端增强） */
    .download-item-type {
      background: linear-gradient(
        135deg,
        rgba(55, 55, 60, 0.9) 0%,
        rgba(40, 40, 45, 0.85) 100%
      ) !important;
      box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
      box-sizing: border-box !important;
      font-weight: 700 !important;
      color: rgba(255, 255, 255, 0.95) !important;
      border: 1px solid rgba(255, 255, 255, 0.18) !important;
    }

    /* 文件大小标签 - 增强对比度 */
    .download-item-size {
      background: rgba(0, 0, 0, 0.45) !important;
      font-weight: 600 !important;
      box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.2),
        0 0 0 1px rgba(255, 255, 255, 0.2) inset !important;
      box-sizing: border-box !important;
      color: rgba(255, 255, 255, 0.9) !important;
    }

    /* 缩略图容器 - 移动端优化（覆盖全局禁止模糊规则） */
    .thumbnail-container,
    .video-play-button-container,
    .audio-play-button-container,
    .document-preview-button-container,
    .chat-record-import-button {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
      backdrop-filter: blur(10px) !important;
      -webkit-backdrop-filter: blur(10px) !important;
    }

    /* 搜索框 - 移动端高级拟态玻璃风格 */
    .search-bar {
      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.09) 0%,
        rgba(255, 255, 255, 0.03) 100%
      ) !important;
      border: 1px solid rgba(255, 255, 255, 0.08) !important;
      border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
      color: rgba(255, 255, 255, 0.9) !important;
      box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
    }

    .search-bar::placeholder {
      color: rgba(255, 255, 255, 0.5) !important;
    }

    .search-bar:focus {
      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.14) 0%,
        rgba(255, 255, 255, 0.06) 100%
      ) !important;
      border-top-color: rgba(255, 255, 255, 0.45) !important;
      border-bottom-color: rgba(255, 255, 255, 0.18) !important;
      box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.25),
        inset 0 1px 1px rgba(255, 255, 255, 0.3) !important;
      color: #ffffff !important;
    }

    /* 文件名显示框和重命名输入框 */
    .file-name-display,
    .rename-file-input {
      color: white !important;
      background: rgba(0, 0, 0, 0.2) !important;
      border: 1px solid rgba(255, 255, 255, 0.2) !important;
    }

    /* 上传进度框 - 移动端高级拟态玻璃风格 */
    .file-upload-info {
      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.09) 0%,
        rgba(255, 255, 255, 0.03) 100%
      ) !important;
      border: 1px solid rgba(255, 255, 255, 0.08) !important;
      border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
      color: rgba(255, 255, 255, 0.9) !important;
      box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
    }

    .rename-file-input::placeholder {
      color: rgba(255, 255, 255, 0.6) !important;
    }

    /* 视频/图片查看器背景加深 */
    .viewer-backdrop,
    #video-modal {
      background: rgba(0, 0, 0, 0.98) !important;
    }

    .viewer-toolbar,
    .viewer-title,
    .video-js .vjs-control-bar,
    .video-info-bar {
      background: rgba(35, 41, 70, 0.98) !important;
    }

    /* 按钮背景优化 */
    .video-play-button-container,
    .audio-play-button-container {
      background: rgba(100, 217, 254, 0.4) !important;
    }

    .video-close-button {
      background: rgba(255, 107, 107, 0.6) !important;
    }

    /* AI笔记界面移动端适配 */
    .AI_Notes_menu {
      width: fit-content !important;
      min-width: 45px !important;
      max-width: 70px !important;
      max-height: 60vh !important;
      padding: 4px 2px !important;
      gap: 4px !important;
      background: rgba(255, 255, 255, 0.35) !important;
      left: 8px !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      scrollbar-width: none !important; /* Firefox */
      -ms-overflow-style: none !important; /* IE/Edge */
    }

    .AI_Notes_menu::-webkit-scrollbar {
      display: none !important; /* Chrome/Safari */
    }

    .AI_Notes_menu_son,
    .AI_Notes_menu_son_Function {
      font-size: 10px !important;
      padding: 4px 2px !important;
      min-width: 37px !important;
      min-height: 30px !important;
      height: auto !important;
      max-height: 40px !important;
    }

    .AI_Notes_border_receive,
    .AI_Notes_AI_border {
      left: 80px !important;
      right: 0px !important;
      max-height: 100dvh !important;
    }

    .Notes_style {
      width: 96% !important;
      margin: 6px auto !important;
      padding: 8px 10px !important;
      background: rgba(255, 255, 255, 0.3) !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    }

    .Notes_Knowledge_point {
      font-size: 12px !important;
      line-height: 1.5 !important;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    }

    .Notes_button {
      width: 30px !important;
      height: 30px !important;
      right: 3px !important;
      bottom: 3px !important;
    }

    /* 记忆模块移动端适配 */
    .id_memory_word_border {
      width: 90vw !important;
      max-width: 90vw !important;
      height: 70vh !important;
      max-height: 70vh !important;
      padding: 0 !important;
      left: 50% !important;
      top: 45% !important;
      /* 深色磨砂玻璃背景 */
      background: linear-gradient(135deg, #3a3a40 0%, #2c2c32 100%) !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
      border: 1px solid rgba(255, 255, 255, 0.15) !important;
    }

    .id_memory_word_border:not(.show) {
      transform: translate(-50%, -50%) scale(0) !important;
    }

    .id_memory_word_border.show {
      transform: translate(-50%, -50%) scale(1) !important;
    }

    .id_memory_word_border {
      will-change: transform, opacity !important;
      backface-visibility: hidden !important;
      -webkit-backface-visibility: hidden !important;
    }

    .memory-toolbar {
      padding: 10px 10px 6px 10px !important;
      gap: 6px !important;
      flex-wrap: wrap !important;
    }

    .memory-toolbar-left {
      gap: 6px !important;
    }

    .memory_refresh,
    .memory-ai-group-btn,
    .memory-ai-search-btn,
    .memory-back-btn {
      height: 30px !important;
      font-size: 11px !important;
      padding: 0 10px !important;
    }

    .memory-back-btn {
      display: flex !important;
    }

    .memory-search-box {
      max-width: none !important;
      flex: 1 1 100% !important;
      order: 1 !important;
    }

    .memory-search-input {
      height: 30px !important;
      font-size: 12px !important;
    }

    .memory-group-tabs {
      padding: 0 10px 8px 10px !important;
      gap: 4px !important;
    }

    .memory-group-tab {
      height: 24px !important;
      padding: 0 10px !important;
      font-size: 11px !important;
    }

    .memory_display_box {
      padding: 0 10px 6px 10px !important;
    }

    .memory_display_box_son {
      padding: 8px 10px !important;
      gap: 6px !important;
      min-height: 38px !important;
      margin-bottom: 6px !important;
    }

    .memory-card-group-tag {
      height: 20px !important;
      font-size: 10px !important;
      padding: 0 6px !important;
    }

    .memory_text {
      font-size: 12px !important;
      word-break: break-all !important;
    }

    .id_memory_word_get {
      font-size: 10px !important;
      padding: 0 8px !important;
      height: 24px !important;
    }

    .id_memory_word_delete {
      width: 24px !important;
      height: 24px !important;
    }

    .id_memory_word_delete img {
      width: 12px !important;
      height: 12px !important;
    }

    .id_memory_word_add {
      padding: 8px 10px 10px 10px !important;
      gap: 8px !important;
    }

    .id_memory_word_add_input {
      height: 36px !important;
      font-size: 12px !important;
      padding: 0 10px !important;
    }

    .id_memory_word_add_button {
      width: 36px !important;
      height: 36px !important;
    }

    .id_memory_word_add_button img {
      width: 16px !important;
      height: 16px !important;
    }

    /* 复制选项卡移动端 */

    body {
      background-size: 100% 100%; /* 扩大背景范围 */
    }

    .login {
      /* 登录框 */
      /* 基本样式 */
      width: 90vw;
      min-height: 320px;
      height: auto;
      border-radius: 15px;
      top: 50%;
      left: 5vw;
      transform: translateY(-50%);
      max-height: 90vh;
      overflow-y: auto;
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE/Edge */
    }

    .login::-webkit-scrollbar {
      display: none; /* Chrome/Safari */
    }

    .login_container {
      /* 登录输入框容器（移动端）- 上下布局 */
      width: 100%;
      min-height: 320px;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 0;
      padding: 15px 0;
      box-sizing: border-box;
    }

    .login_left {
      /* 左侧账号密码区域（移动端：上半部分） */
      width: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 12px;
      padding: 15px 0;
    }

    .login_right {
      /* 右侧二维码区域（移动端：下半部分） */
      width: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 8px;
      border-left: none;
      border-top: 1px solid rgba(255, 255, 255, 0.15);
      padding: 15px 0;
    }

    .login_qr_container {
      /* 二维码容器（移动端） */
      width: 80px;
      height: 80px;
      background: rgba(255, 255, 255, 1);
      border-radius: 8px;
      padding: 6px;
      box-sizing: border-box;
    }

    .login_qr_status {
      /* 二维码状态提示（移动端） */
      margin-top: 0;
      font-size: 12px;
      color: rgba(255, 255, 255, 0.6);
    }

    .login_border {
      /* 登录框的输入样式框 */
      /* 基本样式 */
      width: 80vw;
      height: 5.5vh;
      border-radius: 100px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-right: 3vw;
    }

    .login_border_input,
    .login_border_password {
      /* 登录框的输入实际框 */
      flex: 1;
      height: 100%;
      background: transparent;
      border: none;
      outline: none;
      font-size: 16px;
      padding: 0 2.5vw;
      color: white;
      caret-color: #52c41a; /* 光标颜色 - 绿色 */
    }

    .login_border_input::placeholder,
    .login_border_password::placeholder {
      /* 登录框的输入提示词样式 */
      color: white;
      opacity: 0.7;
    }

    .password_eye_icon {
      /* 密码显示/隐藏小眼睛图标（移动端） */
      width: 28px;
      height: 28px;
      cursor: pointer;
      opacity: 0.7;
      transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
      flex-shrink: 0;
      margin-left: 10px;
    }

    .password_eye_icon:active {
      opacity: 1;
      transform: scale(0.9);
    }
    .AI {
      margin: 0;
      width: 100vw;
      height: 100dvh;
      position: absolute;
      top: 0px;
      left: 0px;
    }
    .AI_border_send {
      /* AI输入框 - 通用样式 */
      width: 80vw;
      min-width: 320px;
      min-height: 70px; /* 移动端也降低最小高度 */
      border-radius: 15px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%); /* 只X轴居中，不影响底部定位 */
      transition: all 0.2s ease; /* 添加平滑过渡 */
    }

    .AI .AI_border_send {
      /* 对话界面输入框 - 固定px位置 */
      bottom: 36px;
    }

    .AI_Notes .AI_border_send {
      /* 笔记界面输入框 - 固定px位置 */
      bottom: 155px;
    }
    .img_file {
      width: 79vw;
      overflow-x: auto;
      overflow-y: hidden;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }
    .img_file::-webkit-scrollbar {
      display: none;
    }
    .AI_border_receive {
      /* AI内容框 */
      width: 98vw;
      max-height: 100dvh; /* 设置最大高度为整个视口，让内容可以穿过输入框 */
      position: absolute;
      top: 1vh;
      left: 1vw;
      padding-bottom: 50vh; /* 给底部留出空间，避免被输入框遮挡 */
      box-sizing: border-box;
      overflow-y: auto;
      scrollbar-width: none;
      overscroll-behavior: contain;
      /* 手机端不会整个body滑动的关键 */
      overscroll-behavior: none; /* 阻止滚动溢出当前容器，防止触发页面整体的滚动回弹效果 */
    }
    .AI_button {
      /* AI功能按钮 */
      /* 基本样式 */
      width: 75px;
      height: 35px;
      color: white;
      border-radius: 20px;
      position: absolute;
      bottom: 0.5vh; /* 调整按钮位置，适应更矮的容器 */
      display: flex;
      justify-content: center;
      align-items: center;
      user-select: none;
      cursor: pointer;
    }

    /* 手机端 - AI对话-深度思考按钮 - 青色发光 */
    #id_AI_think {
      color: rgb(1, 235, 252);
      border: 2px solid rgb(1, 235, 252);
      box-shadow:
        0px 0px 100px rgb(1, 235, 252),
        inset 0px 0px 10px rgb(1, 235, 252),
        0px 0px 5px rgb(255, 255, 255);
      opacity: 1;
      background: rgba(1, 235, 252, 0.1);
    }

    #id_AI_think:active {
      box-shadow:
        0px 0px 150px rgb(1, 235, 252),
        0px 0px 80px rgba(1, 235, 252, 0.6),
        inset 0px 0px 15px rgb(1, 235, 252),
        0px 0px 8px rgb(255, 255, 255);
      filter: drop-shadow(0px 0px 40px rgba(1, 235, 252, 0.8));
      transform: scale(0.95);
    }

    /* 手机端 - AI对话-Agent按钮 - 玻璃拟态风格 */
    /* 手机端 - AI对话-自定义按钮 - 玻璃拟态风格 */
    #id_AI_Custom {
      overflow: visible;
    }

    /* 手机端 - 自定义按钮打开状态 - 玻璃拟态风格 */
    #id_AI_Custom.status-on {
      width: 82px;
      color: rgb(180, 100, 255);
      border: 1px solid rgba(180, 100, 255, 0.5);
      background: rgba(255, 255, 255, 0.04);
      backdrop-filter: blur(18px) saturate(160%);
      -webkit-backdrop-filter: blur(18px) saturate(160%);
    }

    #id_AI_Custom.status-on:hover {
      background: rgba(255, 255, 255, 0.08);
      border-color: rgba(180, 100, 255, 0.7);
    }

    #id_AI_Custom.status-on:active {
      transform: scale(0.95);
    }

    /* 手机端 - 自定义按钮箭头（动画由桌面端基础样式控制） */
    .AI_custom_arrow:active {
      opacity: 0.5;
    }

    /* 手机端 - 自定义下拉菜单 - 玻璃拟态背景 */
    .AI_custom_dropdown {
      min-width: 185px;
      max-height: min(52vh, 360px);
      right: -5px;
      bottom: 45px;
      border-radius: 14px;
      padding: 8px 0;
      transform-origin: calc(100% - 12px) calc(100% + 8px);
      transition:
        opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.28s cubic-bezier(0.2, 1.2, 0.4, 1);
    }

    /* 强制应用移动端玻璃拟态效果 */
    .AI_custom_dropdown,
    body .AI_custom_dropdown,
    * .AI_custom_dropdown {
      background: rgba(255, 255, 255, 0.04) !important;
      backdrop-filter: blur(20px) saturate(180%) !important;
      -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
      border: 1px solid rgba(255, 255, 255, 0.15) !important;
    }

    .AI_custom_dropdown_title {
      color: rgba(160, 232, 215, 0.55);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      padding: 12px 18px 5px;
      margin-top: 0;
      pointer-events: none;
      cursor: default;
      text-shadow: none !important;
      filter: none !important;
    }

    .AI_custom_dropdown_title:first-child {
      padding-top: 6px;
    }

    .AI_custom_dropdown_title ~ .AI_custom_dropdown_title {
      border-top: 1px solid rgba(255, 255, 255, 0.05);
      margin-top: 4px;
      padding-top: 12px;
    }

    .AI_custom_model_option {
      min-height: 42px;
      font-size: 14px;
      padding: 0 14px;
      color: rgba(255, 255, 255, 0.75) !important;
      border-radius: 8px;
      margin: 2px 8px;
      width: calc(100% - 16px);
    }

    .AI_custom_model_option:active {
      background: rgba(255, 255, 255, 0.1) !important;
    }

    .AI_custom_model_option.selected {
      background: rgba(100, 217, 254, 0.1) !important;
      color: rgb(130, 220, 245) !important;
      font-weight: 600 !important;
    }

    /* 手机端 - 笔记-深度分析按钮 - 橙色发光 */
    #id_AI_Notes_high {
      color: rgb(255, 152, 0);
      border: 2px solid rgb(255, 152, 0);
      box-shadow:
        0px 0px 100px rgb(255, 152, 0),
        inset 0px 0px 10px rgb(255, 152, 0),
        0px 0px 5px rgb(255, 255, 255);
      opacity: 1;
      background: rgba(255, 152, 0, 0.1);
    }

    #id_AI_Notes_high:active {
      box-shadow:
        0px 0px 150px rgb(255, 152, 0),
        0px 0px 80px rgba(255, 152, 0, 0.6),
        inset 0px 0px 15px rgb(255, 152, 0),
        0px 0px 8px rgb(255, 255, 255);
      filter: drop-shadow(0px 0px 40px rgba(255, 152, 0, 0.8));
      transform: scale(0.95);
    }

    /* 手机端 - 笔记-超长分析按钮 - 金黄色发光 */
    #id_AI_Notes_long {
      color: rgb(255, 215, 0);
      border: 2px solid rgb(255, 215, 0);
      box-shadow:
        0px 0px 100px rgb(255, 215, 0),
        inset 0px 0px 10px rgb(255, 215, 0),
        0px 0px 5px rgb(255, 255, 255);
      opacity: 1;
      background: rgba(255, 215, 0, 0.1);
    }

    #id_AI_Notes_long:active {
      box-shadow:
        0px 0px 150px rgb(255, 215, 0),
        0px 0px 80px rgba(255, 215, 0, 0.6),
        inset 0px 0px 15px rgb(255, 215, 0),
        0px 0px 8px rgb(255, 255, 255);
      filter: drop-shadow(0px 0px 40px rgba(255, 215, 0, 0.8));
      transform: scale(0.95);
    }

    /* 手机端 - 笔记-深度思考按钮 - 洋红色发光 */
    #id_AI_Notes_think {
      color: rgb(255, 0, 255);
      border: 2px solid rgb(255, 0, 255);
      box-shadow:
        0px 0px 100px rgb(255, 0, 255),
        inset 0px 0px 10px rgb(255, 0, 255),
        0px 0px 5px rgb(255, 255, 255);
      opacity: 1;
      background: rgba(255, 0, 255, 0.1);
    }

    #id_AI_Notes_think:active {
      box-shadow:
        0px 0px 150px rgb(255, 0, 255),
        0px 0px 80px rgba(255, 0, 255, 0.6),
        inset 0px 0px 15px rgb(255, 0, 255),
        0px 0px 8px rgb(255, 255, 255);
      filter: drop-shadow(0px 0px 40px rgba(255, 0, 255, 0.8));
      transform: scale(0.95);
    }
    .AI_button1 {
      /* AI文件功能按钮 */
      /* 基本样式 */
      width: 35px;
      height: 35px;
      color: white;
      border-radius: 20px;
      position: absolute;
      bottom: 8px; /* 固定px值，兼容Edge移动端 */
      right: 8px;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      user-select: none;

      /* 按钮本身透明，毛玻璃由 ::before 承载（避免子菜单 backdrop-filter 被失效）*/
      background: transparent;
      border: 2.5px solid rgba(255, 255, 255, 0.35);
      transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    }

    .AI_button1::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: rgba(255, 255, 255, 0.06);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
      backdrop-filter: blur(12px) saturate(140%);
      z-index: -1;
      transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
      pointer-events: none;
    }

    .AI_button1:hover {
      scale: 1.05;
    }

    .AI_button1:hover::before {
      background: rgba(255, 255, 255, 0.12);
      -webkit-backdrop-filter: blur(18px) saturate(160%);
      backdrop-filter: blur(18px) saturate(160%);
    }
    .AI_input {
      /* AI输入框 */
      width: 75vw;
      min-height: 28px; /* 固定px，键盘弹出时不变 */
      max-height: 112px; /* 固定px，约4行 */
      position: absolute;
      left: 2.5vw;
      top: 10px; /* 固定px，键盘弹出时不变 */
      border-radius: 0;
      color: white;
      caret-color: #52c41a; /* 光标颜色 - 绿色 */
      border: none;
      outline: none;
      background: transparent;
      font-size: 15px;
      resize: none; /* 禁止手动拖拽调整大小 */
      overflow-y: auto; /* 超过最大高度显示滚动条 */
      line-height: 1.5; /* 设置行高 */
      font-family: inherit;
      padding: 8px 0; /* 添加上下内边距 */
      box-sizing: border-box;
      transition: height 0.1s ease; /* 平滑高度过渡 */
    }

    /* 键盘弹出时的输入框样式 */
    .keyboard-open .AI_input {
      top: 10px; /* 键盘弹出时的位置，可以单独调整 */
    }

    /* 键盘弹出时的输入框容器样式 */
    .keyboard-open .AI .AI_border_send {
      bottom: 36px; /* 键盘弹出时的位置，可以单独调整 */
    }

    /* 移动端textarea滚动条隐藏 */
    .AI_input::-webkit-scrollbar {
      width: 0;
      display: none;
    }

    .AI_input {
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE and Edge */
    }
    .AI_Notes {
      /* AI记忆 */
      width: 100vw;
      height: 100dvh;
      position: absolute;
      top: 0px;
      left: 0px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      box-sizing: border-box;
    }
    .AI_Notes_menu {
      /* AI笔记菜单 */
      width: fit-content;
      min-width: 55px;
      max-width: 85px;
      height: auto;
      max-height: calc(100dvh - 16px);
      top: 8px;
      left: 8px;
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 10px 4px;
      border-radius: 15px;

      /* 超出滚动 */
      overflow-y: auto;
      overflow-x: hidden;

      /* 隐藏滚动条 */
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE/Edge */

      /* 液态玻璃 */
      background: rgba(255, 255, 255, 0.04);
      backdrop-filter: blur(22px) saturate(140%);
      -webkit-backdrop-filter: blur(22px) saturate(140%);
      border: 1px solid rgba(255, 255, 255, 0.15);

      transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    }

    .AI_Notes_menu::-webkit-scrollbar {
      display: none; /* Chrome/Safari */
    }

    .AI_Notes_menu_son {
      /* AI笔记菜单项 - 移动端 */
      width: 100%;
      min-width: 47px;
      min-height: 42px;
      padding: 8px 4px;
      font-size: 12px;
    }

    .AI_Notes_menu_son_Function {
      /* AI笔记功能按钮 - 移动端 */
      width: 100%;
      min-width: 47px;
      min-height: 38px;
      padding: 6px 4px;
      font-size: 11px;
    }
    /* 文件管理：手机端整体上移一些；--U 基准小一档，三个子组件（浏览/上传按钮、信息框）等比缩 */
    .Upload_border {
      /* 手机端基准单位：min(80px, 14dvh)，比桌面 min(100px,15dvh) 小一档，配合窄屏布局 */
      --U: min(80px, 14dvh);
      /* 容器顶向上延展（top:0 而非 5px），并把高度从 15dvh 加到 15dvh + 30px，
         给信息框文字超长时换行成两行兜底（信息框 absolute bottom 锚定，需要容器有
         足够纵向空间避免穿模）。
         底部位置 = 0 + 15dvh + 30 = 15dvh + 30，距 .download-box 顶 (15vh+40) 仍留 10px 间距。 */
      top: 0;
      height: calc(15dvh + 30px);
    }

    /* 移动端文件项优化 */
    .download-item {
      min-height: 85px;
      padding: 12px;
      flex-direction: column;
      align-items: flex-start;
      position: relative;
    }

    /* 移动端文件名区域 */
    .download-item-name {
      width: 100%;
      font-size: 14px;
      line-height: 1.4;
      white-space: normal;
      word-break: break-word;
      padding-right: 70px;
      margin-bottom: 6px;
      max-height: 2.8em;
      overflow: hidden;
    }

    /* 移动端文件大小 */
    .download-item-size {
      position: absolute;
      right: auto;
      bottom: 10px;
      left: 12px;
      font-size: 11px;
      color: rgba(255, 255, 255, 0.6);
      background: rgba(0, 0, 0, 0.3);
      padding: 2px 6px;
      border-radius: 4px;
    }

    /* 移动端文件类型标签 */
    .download-item-type {
      position: absolute !important;
      right: 8px !important;
      top: 14px !important;
      width: auto !important;
      height: auto !important;
      font-size: 9px !important;
      padding: 3px 6px !important;
      border-radius: 6px !important;
      transform: none !important;
      box-shadow: none !important;
    }

    .download-item-type:hover {
      transform: none !important;
      box-shadow: none !important;
    }

    /* 移动端选中状态优化 */
    .download-item.selected {
      transform: translateX(3px) translateY(-1px);
      border-left-width: 3px;
    }

    /* 移动端缩略图优化 */
    .thumbnail-container {
      position: absolute !important;
      right: 70px !important;
      top: 10px !important;
      transform: none !important;
      width: 45px !important;
      height: 45px !important;
      border-radius: 8px !important;
      z-index: 5 !important;
      font-size: 10px !important;
      line-height: 1.2 !important;
      text-align: center !important;
      padding: 2px !important;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
    }

    /* 移动端缩略图悬停效果禁用 */
    .thumbnail-container:hover {
      transform: none !important;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
    }

    /* 移动端缩略图图片 */
    .thumbnail-container img {
      border-radius: 6px !important;
    }

    /* 移动端缩略图图片悬停效果禁用 */
    .thumbnail-container:hover img {
      transform: none !important;
    }

    /* 移动端大文件加载按钮 */
    .thumbnail-container[style*="background-color: #ff6b6b"] {
      font-size: 7px !important;
      padding: 1px !important;
      line-height: 1.1 !important;
    }

    /* 移动端网格视图优化 - 列表样式图标 */
    .download-list.grid-view {
      grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
      gap: 6px !important;
      padding: 8px !important;
    }

    .download-list.grid-view .download-item {
      min-height: 130px !important;
      padding: 8px 4px 6px 4px !important;
    }

    .download-list.grid-view .download-item-icon-wrapper {
      width: 70px !important;
      height: 70px !important;
      margin-bottom: 4px !important;
    }

    /* 移动端类型图标 - 方形背景 */
    .download-list.grid-view .download-item-type {
      width: 70px !important;
      height: 70px !important;
      font-size: 11px !important;
      border-radius: 8px !important;
      box-sizing: border-box !important;
      box-shadow: none !important;
      border: none !important;
    }

    /* 移动端缩略图/视频按钮 */
    .download-list.grid-view .thumbnail-container,
    .download-list.grid-view .video-play-button-container,
    .download-list.grid-view .audio-play-button-container,
    .download-list.grid-view .document-preview-button-container,
    .download-list.grid-view .chat-record-import-button {
      width: 70px !important;
      height: 70px !important;
      border-radius: 8px !important;
      top: 8px !important;
    }

    /* 移动端文件名 */
    .download-list.grid-view .download-item-name {
      font-size: 10px !important;
      line-height: 1.25 !important;
      padding: 0 2px !important;
    }

    /* 移动端文件大小 */
    .download-list.grid-view .download-item-size {
      font-size: 8px !important;
      padding: 1px 4px !important;
    }

    /* 移动端文件夹"打开"按钮 */
    .download-list.grid-view .folder-open-button {
      width: 70px !important;
      height: 70px !important;
      font-size: 12px !important;
      border-radius: 8px !important;
    }

    /* 移动端"返回"按钮 */
    .download-list.grid-view .folder-back-button {
      width: 70px !important;
      height: 70px !important;
      font-size: 12px !important;
      border-radius: 8px !important;
    }

    /* 移动端文件设置按钮 */
    .file-settings-btn {
      width: 38px !important;
      height: 38px !important;
      font-size: 16px !important;
      left: calc(5px + 70px + 5px + 70px + 5px + 70px + 5px) !important;
      bottom: 8px !important;
    }

    /* 移动端文件设置菜单 */
    .file-settings-menu {
      width: 100px !important;
      left: calc(5px + 70px + 5px + 70px + 5px + 70px - 20px) !important;
      bottom: 60px !important;
    }

    .file-settings-menu-item {
      height: 40px !important;
      font-size: 13px !important;
    }

    .file-settings-menu-item:active {
      transform: scale(0.95) !important;
    }

    /* 移动端浏览文件选择菜单 */
    .browse-select-menu {
      width: 100px !important;
    }

    .browse-select-menu-item {
      height: 40px !important;
      font-size: 13px !important;
    }

    .browse-select-menu-item:active {
      transform: scale(0.95) !important;
    }

    /* 移动端感叹号菜单 */
    .AI_auto_cruise_alert_menu {
      width: 100px !important;
      max-height: 180px !important;
    }

    .AI_auto_cruise_alert_menu_item {
      height: 40px !important;
      font-size: 13px !important;
      font-weight: 600 !important;
    }

    .AI_auto_cruise_alert_menu_item:active {
      transform: scale(0.95) !important;
    }

    /* 移动端右键菜单（长按触发） */
    .context-menu {
      min-width: 130px !important;
      max-width: 160px !important;
    }

    .context-menu-item {
      height: 45px !important;
      font-size: 13px !important;
    }

    .context-menu-item:active {
      transform: scale(0.95) !important;
    }

    .download-box {
      top: calc(10px + 15dvh + 10px);
      height: 75dvh;
    }
    .AI_Notes_menu_son {
      /* AI笔记菜单子项目 */
      width: 10vw;
      min-width: 40px;
      height: 10vw;
      min-height: 40px;
      margin: 0;
      color: white;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;

      background: rgba(255, 255, 255, 0.04);
      backdrop-filter: blur(18px) saturate(160%);
      -webkit-backdrop-filter: blur(18px) saturate(160%);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 10px;
      transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    }

    .AI_Notes_menu_son_Function {
      /* AI笔记菜单功能子项目 */
      width: 10vw;
      min-width: 40px;
      height: 10vw;
      min-height: 40px;
      margin: 0;
      color: rgba(255, 255, 255, 0.8);
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;

      background: rgba(255, 255, 255, 0.03);
      backdrop-filter: blur(18px) saturate(160%);
      -webkit-backdrop-filter: blur(18px) saturate(160%);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 10px;
      transition: all 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    }
    .AI_Notes_border_receive {
      /* AI笔记内容框 */
      left: 95px;
      right: 0px;
      position: absolute;
      top: 0px;
      overflow-y: auto;
      overscroll-behavior: contain;
      /* 手机端不会整个body滑动的关键 */
      overscroll-behavior: none;
      padding-bottom: 300px; /* 给底部留出空间，避免被输入框遮挡 */
      box-sizing: border-box;
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE/Edge */
    }

    .AI_Notes_border_receive::-webkit-scrollbar {
      display: none; /* Chrome/Safari */
    }
    .AI_Notes_AI_border {
      /* AI笔记中AI的内容框 */
      /* 基本样式 */
      left: 95px;
      right: 0px;
      position: absolute;
      top: 0px;
      overflow-y: auto;
      overscroll-behavior: contain;
      /* 手机端不会整个body滑动的关键 */
      padding-bottom: 300px; /* 给底部留出空间，避免被输入框遮挡 */
      box-sizing: border-box;
      overscroll-behavior: none;
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE/Edge */
    }

    .AI_Notes_AI_border::-webkit-scrollbar {
      display: none; /* Chrome/Safari */
    }
    .Notes_button {
      /* AI笔记选择按钮 */
      width: 35px;
      height: 35px;
      border-radius: 50%;
      user-select: none;
    }
    #Notes_file {
      /* 电脑文件选择 */
      display: none;
    }
    #file {
      /* 电脑文件选择按钮 */
      pointer-events: auto;
    }
    /* 信息框：手机端硬性覆盖——宽度收紧到容器内 + 文字必换行 + 高度自适应。
       用复合选择器 .Upload_border .file-upload-info 提升特异性（避免被任何其他
       同选择器规则反向覆盖），所有关键属性都加 !important。 */
    .Upload_border .file-upload-info {
      /* 强制宽度跟随容器（90vw - 16px 缓冲），不再走 clamp 公式 */
      width: calc(100% - 16px) !important;
      max-width: calc(100% - 16px) !important;
      min-width: 0 !important;
      /* 文字超长换行成多行，绝不省略号截断 */
      white-space: normal !important;
      text-overflow: clip !important;
      word-break: break-word !important;
      overflow-wrap: anywhere !important;
      /* 高度自适应（min-height 保单行视觉），padding 给两行内容呼吸空间 */
      height: auto !important;
      min-height: calc(0.4 * var(--U, 80px)) !important;
      line-height: 1.25 !important;
      padding: calc(0.06 * var(--U, 80px)) calc(0.14 * var(--U, 80px)) !important;
      /* overflow:hidden 在父 white-space:normal 时不影响换行，但显式声明确保不裁剪 */
      overflow: visible !important;
      /* 字号微缩，让窄屏更易单行装下 */
      font-size: calc(0.125 * var(--U, 80px)) !important;
      text-align: center;
    }
    /* 下载文件按钮样式 */
    .download-btn {
      width: 70px;
      left: calc(20px + 5px);
    }
    /* 删除文件按钮样式 */
    .delete-file-btn {
      width: 70px;
      left: calc(20px + 70px + 20px);
    }
    /* 重命名按钮移动端样式 */
    .rename-file-btn {
      width: 70px;
      height: 38px;
      left: calc(5px);
      bottom: 8px;
    }
    .rename-file-input {
      width: 200px;
      left: calc(5px + 70px + 5px + 70px + 5px);
    }
    .get_direct_link_name {
      width: 70px;
      height: 38px;
      left: calc(5px + 70px + 5px);
      bottom: 8px;
      user-select: none;
    }
    /* 新建文件夹按钮移动端样式 */
    .create-folder-btn {
      width: 70px;
      height: 38px;
      font-size: 12px;
      left: calc(5px + 70px + 5px + 70px + 5px);
      bottom: 8px;
    }

    /* 重命名和新建文件夹输入框及确认按钮：手机端使用 4px 模糊（初级动效） */
    .rename-file-input,
    .rename-file-input_yes,
    .create-folder-input,
    .create-folder-input_yes,
    .offline-download-input,
    .offline-download-input_yes {
      backdrop-filter: blur(4px) saturate(160%) !important;
      -webkit-backdrop-filter: blur(4px) saturate(160%) !important;
    }

    .offline-download-input {
      width: 280px;
      max-height: 150px;
    }

    .offline-download-input_yes {
      left: calc(50% + 160px) !important;
      top: calc(50% + 60px) !important;
    }

    /* 重命名确认按钮：手机端紧贴输入框右侧 */
    .rename-file-input_yes {
      left: calc(5px + 70px + 5px + 5px + 200px) !important;
    }

    /* 显示文件名的框样式 */
    .file-name-display {
      width: 700px;
      left: calc(20px + 70px + 20px + 70px + 20px);
    }
    .download-list {
      width: 85%;
      height: 77.5%;
      margin-top: 40px;
      padding-bottom: max(88px, env(safe-area-inset-bottom));
      scroll-padding-bottom: max(88px, env(safe-area-inset-bottom));
    }
    .search-container {
      /* 基本样式 */
      width: 150px;
      left: calc(120px - 30px);
    }
    .search-bar {
      width: 60px;
    }
    .search-btn {
      width: 40px;
    }
    @media screen and (max-height: 600px) {
      /* 手机触发键盘时*/
      .login {
        /* 登录框 */
        top: 85vh;
        left: 5vw;
        height: 25vh;
      }
      .AI_border_receive {
        max-height: 99.9vh;
        padding-bottom: 50vh; /* 键盘弹起时给底部留出更多空间 */
      }
      .AI_button {
        /* AI功能按钮 */
        /* 基本样式 */
        bottom: 2vh;
        width: 75px;
        height: 35px;
      }
      .AI_button1 {
        /* AI功能按钮 */
        /* 基本样式 */
        bottom: 2.5vh;
        right: 1.5vh;
        width: 35px;
        height: 35px;
      }
      .AI_input {
        /* AI输入样式框 */
        top: 6vh;
      }
      .AI_Notes_border_receive {
        /* AI笔记内容框 */
        max-height: 100dvh;
        padding-bottom: 300px; /* 给底部留出空间，避免被输入框遮挡 */
      }
      .AI_Notes_menu {
        /* AI笔记菜单 */
        height: calc(100dvh - 80px);
        overflow-y: auto;
        overflow-x: hidden;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE/Edge */
      }

      .AI_Notes_menu::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
      }
      .AI_Notes_AI_border {
        /* AI笔记中AI的内容框 */
        max-height: 100dvh;
        padding-bottom: 300px; /* 给底部留出空间，避免被输入框遮挡 */
      }
      #Notes_file {
        /* 电脑文件选择 */
        display: none;
      }
      .download-box {
        height: 65dvh;
        top: calc(20px + 20dvh + 20px + 10px);
      }
      .Upload_border {
        height: 20dvh;
      }
    } /* 手机键盘模式结尾*/
  } /* 手机模式结尾*/
} /* 电脑模式结尾*/
/* ===== 对话飞入动画样式 ===== */
.fly-ghost {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  will-change: transform, opacity;
  transition:
    transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.22s ease;
}
.fly-ghost-text {
  max-width: 60vw;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.35;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
}
.fly-ghost-ball {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    rgba(100, 217, 254, 0.9),
    rgba(94, 96, 230, 0.9)
  );
  box-shadow: 0 8px 24px rgba(100, 217, 254, 0.35);
}

/* ===== 文件预览组件样式 ===== */
.file-preview-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.75);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.file-preview-container {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  background: rgba(30, 30, 40, 0.95);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
  transform-origin: center center;
  transition:
    transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.4s ease;
}
.file-preview-container.show {
  transform: scale(1);
  opacity: 1;
}
.file-preview-container.hide {
  transform: scale(0.3);
  opacity: 0;
}
.file-preview-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 20px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s;
  z-index: 1;
}
.file-preview-close:hover {
  background: rgba(255, 100, 100, 0.3);
  transform: rotate(90deg);
}
.file-preview-content {
  max-width: 100%;
  max-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.file-preview-content img {
  max-width: 100%;
  max-height: 80vh;
  border-radius: 8px;
  object-fit: contain;
}
.file-preview-content video {
  max-width: 100%;
  max-height: 80vh;
  border-radius: 8px;
}

/* ===== 邮箱功能样式 ===== */

/* 忘记密码链接 */
.login_forgot_password {
  margin-top: 10px;
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  user-select: none;
}
.login_forgot_password:hover {
  color: rgba(255, 255, 255, 0.9);
  transform: scale(1.05);
}
.login_forgot_password:active {
  transform: scale(0.95);
}

/* 登录按钮 */
.login_action_row {
  width: 90%;
  display: flex;
  align-items: center;
  gap: 0.65vw;
  margin-top: 0.5vh;
}

.login_submit_button,
.login_quick_transfer_button {
  position: relative;
  width: 90%;
  height: 4vh;
  padding: 0;
  margin-top: 0.5vh;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  border-radius: 100px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  z-index: 10;
}

.login_action_row .login_submit_button,
.login_action_row .login_quick_transfer_button {
  width: auto;
  margin-top: 0;
}

.login_action_row .login_submit_button {
  flex: 1.55;
}

.login_action_row .login_quick_transfer_button {
  flex: 0.72;
  color: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.1);
}

.login_submit_button:hover,
.login_quick_transfer_button:hover {
  transform: translateY(-2px);
  box-shadow:
    0 6px 20px rgba(255, 255, 255, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
}

.login_submit_button:active,
.login_quick_transfer_button:active {
  transform: translateY(0) scale(0.95);
}

.login_submit_button:disabled,
.login_quick_transfer_button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}

/* 邮箱弹窗遮罩层 */
.email_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: emailModalFadeIn 0.3s ease;
}

@keyframes emailModalFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 邮箱弹窗内容 */
.email_modal_content {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  border-radius: 20px;
  padding: 0;
  max-width: 450px;
  width: 90vw;
  border: 1px solid rgba(255, 255, 255, 0.15);
  animation: emailModalSlideIn 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes emailModalSlideIn {
  from {
    transform: translateY(-50px) scale(0.9);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* 邮箱弹窗头部 */
.email_modal_header {
  padding: 20px 25px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.email_modal_title {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}

.email_modal_close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  user-select: none;
}

.email_modal_close:hover {
  background: rgba(255, 100, 100, 0.3);
  transform: rotate(90deg);
}

/* 邮箱弹窗主体 */
.email_modal_body {
  padding: 25px;
}

/* 当前邮箱信息 */
.email_current_info {
  margin-bottom: 20px;
  padding: 12px 15px;
  background: rgba(255, 255, 255, 0.06);
  border-left: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  color: #999;
  font-size: 14px;
}

/* 输入框组 */
.email_input_group {
  margin-bottom: 15px;
}

.email_input {
  width: 100%;
  padding: 12px 15px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  color: #fff;
  font-size: 15px;
  outline: none;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.email_input:focus {
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
}

.email_input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

/* 验证码输入组 */
.email_code_group {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

.email_code_input {
  flex: 1;
  padding: 12px 15px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  color: #fff;
  font-size: 15px;
  outline: none;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.email_code_input:focus {
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
}

.email_code_input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

/* 验证码按钮 */
.email_code_btn {
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.15);
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.email_code_btn:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 6px 16px rgba(255, 255, 255, 0.1);
}

.email_code_btn:active {
  transform: translateY(0);
}

.email_code_btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}

/* 提交按钮 */
.email_submit_btn {
  width: 100%;
  padding: 14px;
  background: rgba(255, 255, 255, 0.15);
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 15px;
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.email_submit_btn:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.15);
}

.email_submit_btn:active {
  transform: translateY(0);
}

/* 提示文字 */
.email_tips {
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
  padding: 10px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
}

/* 找回密码步骤标题 */
.email_step_title {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 15px;
  text-align: center;
}

/* 账号选择列表 */
.reset_user_list {
  margin-bottom: 15px;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden; /* 禁用横向滚动条 */
  scrollbar-width: thin; /* Firefox 细滚动条 */
  scrollbar-color: rgba(255, 255, 255, 0.25) transparent; /* Firefox 颜色 */
}

/* WebKit 滚动条样式（仅纵向） */
.reset_user_list::-webkit-scrollbar {
  width: 8px; /* 纵向滚动条宽度 */
  height: 0; /* 横向滚动条高度为0，等效隐藏 */
}
.reset_user_list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: content-box;
}
.reset_user_list::-webkit-scrollbar-track {
  background: transparent;
}

/* 账号选项 */
.reset_user_item {
  padding: 15px 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  color: #fff;
  font-size: 15px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
}

.reset_user_item:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.4);
  transform: scale(1.03);
}

.reset_user_item:active {
  transform: scale(0.98);
}

/* ===== 设备备注弹窗样式（iPhone风格，与设备列表统一）===== */
.remark_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: transparent;
  z-index: 10001;
  display: none;
  pointer-events: none;
}

.remark_modal.show {
  display: block;
  pointer-events: auto;
}

.remark_modal_content {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 340px;
  max-width: 90vw;
  border-radius: 20px;
  overflow: hidden;

  /* iPhone风格的玻璃拟态效果（与设备列表一致）*/
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.15);

  /* 动画效果 - 从点击位置展开 */
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
  transition:
    all 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.remark_modal_content.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.remark_modal_header {
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.remark_modal_title {
  font-size: 18px;
  font-weight: 600;
  color: white;
  letter-spacing: 0.3px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.remark_modal_close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.12);
  color: white;
  font-size: 18px;
  font-weight: 300;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  backdrop-filter: blur(10px);
}

.remark_modal_close:hover {
  background: rgba(255, 100, 100, 0.3);
  transform: rotate(90deg) scale(1.1);
}

.remark_modal_close:active {
  transform: rotate(90deg) scale(0.95);
}

.remark_modal_body {
  padding: 20px;
}

.remark_input_group {
  margin-bottom: 16px;
}

.remark_input {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  color: #fff;
  font-size: 15px;
  outline: none;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.remark_input:focus {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
}

.remark_input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.remark_button_group {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.remark_cancel_btn,
.remark_submit_btn,
.remark_btn_cancel,
.remark_btn_confirm {
  flex: 1;
  padding: 12px 20px;
  border: none;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  outline: none;
}

.remark_cancel_btn,
.remark_btn_cancel {
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
}

.remark_cancel_btn:hover,
.remark_btn_cancel:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: scale(1.02);
}

.remark_cancel_btn:active,
.remark_btn_cancel:active {
  transform: scale(0.98);
}

.remark_submit_btn,
.remark_btn_confirm {
  background: linear-gradient(
    135deg,
    rgba(52, 199, 89, 0.85),
    rgba(48, 209, 88, 0.85)
  );
  color: white;
  box-shadow: 0 4px 15px rgba(52, 199, 89, 0.3);
  backdrop-filter: blur(10px);
}

.remark_submit_btn:hover,
.remark_btn_confirm:hover {
  box-shadow: 0 6px 20px rgba(52, 199, 89, 0.5);
  transform: translateY(-2px);
}

.remark_submit_btn:active,
.remark_btn_confirm:active {
  transform: translateY(0);
}

.remark_tips {
  padding: 12px 15px;
  background: rgba(255, 255, 255, 0.05);
  border-left: 3px solid rgba(255, 255, 255, 0.25);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 13px;
  line-height: 1.6;
}

/* 远程执行日志区域 */
.remote_control_log {
  display: none; /* 默认隐藏 */
  padding: 12px;
  background: rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  max-height: 280px;
  overflow-y: auto;
  overflow-x: hidden;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.8;
  word-break: break-word;

  /* 隐藏滚动条 */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

/* WebKit 滚动条隐藏 */
.remote_control_log::-webkit-scrollbar {
  display: none;
}

/* 日志条目样式 */
.remote_control_log > div {
  padding: 4px 0;
  animation: logFadeIn 0.3s ease;
}

@keyframes logFadeIn {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 立即截断按钮 */
.remote_control_abort_btn {
  width: 100%;
  margin-top: 12px;
  padding: 10px 16px;
  background: linear-gradient(
    135deg,
    rgba(255, 59, 48, 0.85),
    rgba(255, 69, 58, 0.85)
  );
  border: none;
  border-radius: 10px;
  color: white;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(255, 59, 48, 0.3);
}

.remote_control_abort_btn:hover {
  background: linear-gradient(
    135deg,
    rgba(255, 59, 48, 0.95),
    rgba(255, 69, 58, 0.95)
  );
  box-shadow: 0 6px 16px rgba(255, 59, 48, 0.5);
  transform: translateY(-1px);
}

.remote_control_abort_btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(255, 59, 48, 0.4);
}

/* 手机端适配 */
@media screen and (max-width: 768px) {
  .email_modal_content {
    max-width: 95vw;
  }

  .email_modal_header {
    padding: 18px 20px;
  }

  .email_modal_title {
    font-size: 16px;
  }

  .email_modal_body {
    padding: 20px;
  }

  .email_code_group {
    flex-direction: column;
  }

  .email_code_btn {
    width: 100%;
  }

  .login_forgot_password {
    font-size: 12px;
  }

  .login_action_row {
    width: 80vw;
    gap: 8px;
  }

  .login_submit_button,
  .login_quick_transfer_button {
    width: 80vw;
    height: 5.5vh;
    font-size: 14px;
  }

  .login_action_row .login_submit_button,
  .login_action_row .login_quick_transfer_button {
    width: auto;
  }

  /* 备注弹窗手机端适配 */
  .remark_modal_content {
    max-width: 95vw;
    width: 340px;
  }

  .remark_modal_header {
    padding: 18px 20px;
  }

  .remark_modal_title {
    font-size: 16px;
  }

  .remark_modal_body {
    padding: 18px;
  }

  .remark_input {
    font-size: 14px;
    padding: 12px 14px;
  }

  .remark_button_group {
    gap: 8px;
  }

  .remark_cancel_btn,
  .remark_submit_btn,
  .remark_btn_cancel,
  .remark_btn_confirm {
    padding: 11px 16px;
    font-size: 14px;
  }

  .remark_tips {
    font-size: 12px;
    padding: 10px 12px;
  }
}

/* ===== 移动端触控反馈优化 ===== */
@media (max-width: 768px), (hover: none) {
  /* 全局触控高亮颜色控制 - 透明，避免蓝色方框 */
  * {
    -webkit-tap-highlight-color: transparent;
  }

  /* 移除按钮焦点轮廓 */
  button:focus,
  [role="button"]:focus,
  a:focus,
  input:focus,
  textarea:focus,
  select:focus {
    outline: none;
  }

  /* 所有按钮类元素加快动画响应 */
  button,
  .AI_button1,
  .rename-file-btn,
  .create-folder-btn,
  .get_direct_link_name,
  .download-btn,
  .delete-file-btn,
  .rename-file-btn,
  .file-settings-btn,
  .device-action-btn,
  .device-list-close,
  .AI_file_button,
  .I_file_browse,
  .I_file_upload,
  .memory_refresh,
  .id_memory_word_add_button,
  .search-btn,
  .login_submit_button,
  .login_quick_transfer_button,
  .remark_submit_btn,
  .remark_cancel_btn {
    transition-duration: 0.2s !important; /* 移动端缩短 20% */
  }

  /* 按钮 active 状态优化 */
  button:active,
  .AI_button1:active,
  .rename-file-btn:active,
  .create-folder-btn:active,
  .get_direct_link_name:active,
  .file-settings-btn:active,
  .device-action-btn:active,
  .AI_file_button:active,
  .memory_refresh:active,
  .id_memory_word_add_button:active,
  .search-btn:active,
  .login_submit_button:active,
  .login_quick_transfer_button:active,
  .remark_submit_btn:active,
  .remark_cancel_btn:active {
    transform: scale(0.96) !important;
    transition-duration: 0.1s !important;
    opacity: 0.85;
  }

  /* 输入框展开动画加快 */
  .rename-file-input,
  .create-folder-input,
  .rename-file-input_yes,
  .create-folder-input_yes {
    transition-duration: 0.3s !important;
  }

  /* 菜单展开加快 */
  .menu,
  .AI_Notes_menu,
  .file-settings-menu,
  .context-menu {
    transition-duration: 0.35s !important;
  }

  /* 列表项 hover 改为轻触反馈 */
  .download-item:active,
  .Notes_style:active,
  .device-item:active {
    transform: scale(0.98);
    transition-duration: 0.1s !important;
  }

  /* 禁用部分桌面端 hover 效果 */
  .file-url-content:hover,
  .Notes_style:hover,
  .thumbnail-container:hover {
    transform: none !important;
  }

  /* 移动端点击波纹效果模拟 */
  @keyframes mobile-tap-ripple {
    0% {
      box-shadow: 0 0 0 0 rgba(100, 217, 254, 0.4);
    }
    100% {
      box-shadow: 0 0 0 20px rgba(100, 217, 254, 0);
    }
  }

  button:active::after,
  .AI_button1:active::after,
  .search-btn:active::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: inherit;
    animation: mobile-tap-ripple 0.4s ease-out;
    pointer-events: none;
  }
}

/* ===== AI 自动巡航 - 思考气泡样式 ===== */
.thinking-bubble,
.auto-cruise-chat-list .chat-message.thinking-bubble,
.auto-cruise-chat-list .chat-message.bot.thinking-bubble {
  opacity: 0.8 !important;
  font-style: italic !important;
  background: rgba(100, 100, 100, 0.2) !important;
  border-left: 3px solid rgba(150, 150, 150, 0.5) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  line-height: 1.4 !important;
  padding: 6px 8px !important;
}

/* 隐藏思考气泡的滚动条 */
.thinking-bubble::-webkit-scrollbar {
  width: 0px;
  height: 0px;
}

.thinking-bubble::-webkit-scrollbar-track {
  background: transparent;
}

.thinking-bubble::-webkit-scrollbar-thumb {
  background: transparent;
}

/* ===== AI 自动巡航 - 正文响应气泡样式 ===== */
.response-bubble,
.auto-cruise-chat-list .chat-message.response-bubble,
.auto-cruise-chat-list .chat-message.bot.response-bubble {
  opacity: 0.9 !important;
  font-style: normal !important;
  background: rgba(60, 120, 200, 0.15) !important;
  border-left: 3px solid rgba(80, 140, 220, 0.6) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  line-height: 1.4 !important;
  padding: 6px 8px !important;
}

.response-bubble::-webkit-scrollbar {
  width: 0px;
  height: 0px;
}

.response-bubble::-webkit-scrollbar-track {
  background: transparent;
}

.response-bubble::-webkit-scrollbar-thumb {
  background: transparent;
}

/* ===== 远程执行思考日志样式 ===== */
.remote-thinking-log {
  opacity: 0.8;
  font-style: italic;
  color: rgba(255, 255, 255, 0.7);
  padding: 4px 0;
  line-height: 1.5;
  word-break: break-word;
  min-height: 50px;
  max-height: 50px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* 隐藏远程思考日志的滚动条 */
.remote-thinking-log::-webkit-scrollbar {
  width: 0px;
  height: 0px;
}

.remote-thinking-log::-webkit-scrollbar-track {
  background: transparent;
}

/* =========================================
   全新按钮设计风格 - Style A: Luminous Glass (微光玻璃)
   统一应用到所有主要功能按钮
   ========================================= */

/* 目标按钮选择器组合 */
.I_file_browse,
.I_file_upload,
.download-btn,
.delete-file-btn,
.rename-file-btn,
.get_direct_link_name,
.create-folder-btn,
.search-btn,
#id_File_search_button,
#id_AI_think,
#id_AI_Agent,
#id_AI_Custom,
.AI_context_meter,
#id_AI_Notes_high,
#id_AI_Notes_long,
#id_AI_Notes_think,
.file-settings-btn {
  /* 基础外观重置与新定义 */
  position: absolute; /* 保持定位 */
  z-index: 10;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  padding: 0 !important; /* 让 flex 居中生效，尺寸由 width/height 控制 */

  font-size: 13.5px !important;
  font-weight: 500 !important; /* 中等字重，更优雅 */
  color: rgba(255, 255, 255, 0.9) !important; /* 柔和白色，避免刺眼 */
  text-shadow: none !important; /* 去除粗糙的文字阴影 */

  /* 沉稳厚实的高级现代玻璃质感 - 重新设计 */
  /* 微曲面渐变背景增加实体感 */
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.09) 0%,
    rgba(255, 255, 255, 0.03) 100%
  ) !important;
  /* 基础边框 + 顶部受光面提亮 */
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.25) !important;
  /* 多层阴影：外层柔和环境阴影 + 内切顶部高光轮廓 */
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.15),
    inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
  border-radius: 24px !important;
  background-clip: border-box !important;

  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;

  /* 适度磨砂，不丢失底层层次 */
  backdrop-filter: blur(20px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
}

/* 恢复带弹出层按钮的 overflow，避免子菜单/tooltip被截断 */
#id_AI_Custom,
.AI_context_meter {
  overflow: visible !important;
}

/* Hover 效果：沉稳提亮，无浮夸纵向位移 */
.I_file_browse:hover,
.I_file_upload:hover,
.download-btn:hover,
.delete-file-btn:hover,
.rename-file-btn:hover,
.get_direct_link_name:hover,
.create-folder-btn:hover,
.search-btn:hover,
#id_File_search_button:hover,
#id_AI_think:hover,
#id_AI_Agent:hover,
#id_AI_Custom:hover,
.AI_context_meter:hover,
#id_AI_Notes_high:hover,
#id_AI_Notes_long:hover,
#id_AI_Notes_think:hover,
.file-settings-btn:hover {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.12) 0%,
    rgba(255, 255, 255, 0.05) 100%
  ) !important;
  border-top-color: rgba(255, 255, 255, 0.35) !important;
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow:
    0 6px 16px rgba(0, 0, 0, 0.2),
    inset 0 1px 1px rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}

/* Active 效果：沉稳物理按下感 */
.I_file_browse:active,
.I_file_upload:active,
.download-btn:active,
.delete-file-btn:active,
.rename-file-btn:active,
.get_direct_link_name:active,
.create-folder-btn:active,
.search-btn:active,
#id_File_search_button:active,
#id_AI_think:active,
#id_AI_Agent:active,
#id_AI_Custom:active,
.AI_context_meter:active,
#id_AI_Notes_high:active,
#id_AI_Notes_long:active,
#id_AI_Notes_think:active,
.file-settings-btn:active {
  transform: scale(0.96) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* =========================================
   特殊修正：AI搜 按钮定位恢复
   ========================================= */
.search-btn,
#id_File_search_button {
  position: relative !important; /* 恢复相对定位 */
  margin-left: 12px !important; /* 恢复间距 */
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* =========================================
   特殊修正：浏览文件 / 上传文件按钮跟随容器等比缩放
   覆盖统一按钮组里固定的 font-size: 13.5px / border-radius: 24px
   ========================================= */
.I_file_browse,
.I_file_upload {
  font-size: calc(0.14 * var(--U, 100px)) !important;
  border-radius: calc(0.24 * var(--U, 100px)) !important;
}

/* =========================================
   按钮状态控制 - 开启/激活状态
   ========================================= */

/* 通用开启状态 - 亮白色/科技蓝基础 */
.status-on {
  background: rgba(56, 189, 248, 0.25) !important;
  border-color: rgba(56, 189, 248, 0.6) !important;
  box-shadow:
    0 0 20px rgba(56, 189, 248, 0.4),
    inset 0 0 0 1px rgba(56, 189, 248, 0.3) !important;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.8) !important;
  color: #fff !important;
}

/* 对话-深度思考 (青色) */
#id_AI_think.status-on {
  background: rgba(1, 235, 252, 0.25) !important;
  border-color: rgba(1, 235, 252, 0.6) !important;
  box-shadow:
    0 0 25px rgba(1, 235, 252, 0.4),
    inset 0 0 0 1px rgba(1, 235, 252, 0.3) !important;
}

/* 对话-Agent (橙色) */
#id_AI_Agent.status-on {
  background: rgba(255, 165, 0, 0.25) !important;
  border-color: rgba(255, 165, 0, 0.6) !important;
  box-shadow:
    0 0 25px rgba(255, 165, 0, 0.4),
    inset 0 0 0 1px rgba(255, 165, 0, 0.3) !important;
}

/* 对话-自定义 (紫色) */
#id_AI_Custom.status-on {
  background: rgba(180, 100, 255, 0.25) !important;
  border-color: rgba(180, 100, 255, 0.6) !important;
  box-shadow:
    0 0 25px rgba(180, 100, 255, 0.4),
    inset 0 0 0 1px rgba(180, 100, 255, 0.3) !important;
}

/* 笔记-深度分析 (橙红) */
#id_AI_Notes_high.status-on {
  background: rgba(255, 152, 0, 0.25) !important;
  border-color: rgba(255, 152, 0, 0.6) !important;
  box-shadow:
    0 0 25px rgba(255, 152, 0, 0.4),
    inset 0 0 0 1px rgba(255, 152, 0, 0.3) !important;
}

/* 笔记-超长分析 (金黄) */
#id_AI_Notes_long.status-on {
  background: rgba(255, 215, 0, 0.25) !important;
  border-color: rgba(255, 215, 0, 0.6) !important;
  box-shadow:
    0 0 25px rgba(255, 215, 0, 0.4),
    inset 0 0 0 1px rgba(255, 215, 0, 0.3) !important;
}

/* 笔记-深度思考 (洋红) */
#id_AI_Notes_think.status-on {
  background: rgba(255, 0, 255, 0.25) !important;
  border-color: rgba(255, 0, 255, 0.6) !important;
  box-shadow:
    0 0 25px rgba(255, 0, 255, 0.4),
    inset 0 0 0 1px rgba(255, 0, 255, 0.3) !important;
}

/* 移动端适配修正 */
@media screen and (max-width: 768px) {
  .create-folder-btn {
    width: 90px !important;
  }

  /* 调整齿轮按钮位置（向右移20px，适配变宽的新建按钮） */
  .file-settings-btn {
    left: calc(5px + 70px + 5px + 70px + 5px + 90px + 5px) !important;
  }

  /* 调整设置菜单位置 */
  .file-settings-menu {
    left: calc(5px + 70px + 5px + 70px + 5px + 90px - 20px) !important;
  }
}

/* =========================================
   代码块样式 - AI模型输出代码
   ========================================= */

/* 代码块容器 */
.code-block-container {
  position: relative;
  margin: 12px 0;
  border-radius: 12px;
  overflow: hidden;
  background: #0f0f13;
  border: 1.5px solid rgba(100, 217, 254, 0.25);
  box-shadow:
    0 4px 20px rgba(0, 0, 0, 0.3),
    0 1px 4px rgba(100, 217, 254, 0.15) inset,
    0 0 30px rgba(100, 217, 254, 0.08);
  /* 直接显示，无渐变动画 */
  opacity: 1;
  transform: none;
}

/* 代码块粒子背景 canvas */
.code-block-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* 工具栏 - 确保在粒子上层 */
.code-block-toolbar {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: linear-gradient(
    135deg,
    rgba(30, 33, 45, 0.95) 0%,
    rgba(20, 23, 35, 0.95) 100%
  );
  border-bottom: 1px solid rgba(100, 217, 254, 0.15);
  backdrop-filter: blur(5px);
}

/* 代码块本体 - 确保在粒子上层 */
.code-block-enhanced {
  position: relative;
  z-index: 1;
}

/* hover效果 */
.code-block-container:hover {
  border-color: rgba(100, 217, 254, 0.4);
  box-shadow:
    0 6px 25px rgba(0, 0, 0, 0.4),
    0 1px 6px rgba(100, 217, 254, 0.25) inset,
    0 0 40px rgba(100, 217, 254, 0.12);
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}

/* 语言标签 */
.code-block-language {
  font-size: 11px;
  font-weight: 600;
  color: #64d9fe;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  background: rgba(100, 217, 254, 0.1);
  border-radius: 6px;
  border: 1px solid rgba(100, 217, 254, 0.2);
  text-shadow: 0 0 8px rgba(100, 217, 254, 0.4);
  user-select: none;
}

.code-change-block {
  border-color: rgba(148, 163, 184, 0.32);
}

.code-change-new {
  border-color: rgba(34, 197, 94, 0.45);
}

.code-change-modified {
  border-color: rgba(100, 217, 254, 0.38);
}

.code-change-deleted {
  border-color: rgba(248, 113, 113, 0.45);
}

.code-change-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 260px);
  text-transform: none;
}

.code-change-review-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.code-change-badge {
  padding: 2px 7px;
  border-radius: 999px;
  color: #06110b;
  background: #22c55e;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.6px;
}

.code-change-deleted .code-change-badge {
  color: #180707;
  background: #f87171;
}

.code-change-modified .code-change-badge {
  color: #07131a;
  background: #64d9fe;
}

.code-change-file {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.code-change-stats {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "Consolas", "Monaco", "Courier New", monospace;
  font-size: 12px;
  font-weight: 700;
}

.code-change-additions {
  color: #4ade80;
}

.code-change-deletions {
  color: #fb7185;
}

.code-change-review-status {
  padding: 7px 12px;
  color: #94a3b8;
  background: rgba(15, 23, 42, 0.58);
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  font-size: 12px;
}

.code-change-action-btn,
.code-change-line-btn,
.code-pending-mini-btn {
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 999px;
  color: #e5e7eb;
  background: rgba(15, 23, 42, 0.7);
  cursor: pointer;
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    transform 0.16s ease,
    opacity 0.16s ease;
}

.code-change-action-btn {
  padding: 5px 10px;
  font-size: 12px;
  white-space: nowrap;
}

.code-change-action-btn.accept,
.code-change-line-btn.accept,
.code-pending-mini-btn:not(.danger) {
  color: #dcfce7;
  border-color: rgba(34, 197, 94, 0.42);
  background: rgba(34, 197, 94, 0.14);
}

.code-change-action-btn.reject,
.code-change-line-btn.reject,
.code-pending-mini-btn.danger {
  color: #ffe4e6;
  border-color: rgba(244, 63, 94, 0.42);
  background: rgba(244, 63, 94, 0.14);
}

.code-change-action-btn:hover,
.code-change-line-btn:hover,
.code-pending-mini-btn:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}

.code-change-action-btn:disabled:hover,
.code-change-line-btn:disabled:hover,
.code-pending-mini-btn:disabled:hover {
  transform: none;
  opacity: 0.45;
}

.code-change-action-btn:disabled,
.code-change-line-btn:disabled,
.code-pending-mini-btn:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  transform: none;
}

.code-block-enhanced.code-change-pre code {
  padding: 10px 0;
}

.code-diff-line {
  display: flex;
  align-items: flex-start;
  gap: 0;
  min-height: 20px;
  padding: 0 14px;
  white-space: pre;
}

.code-change-line-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: 46px;
  min-width: 46px;
  padding-top: 1px;
  opacity: 0;
  transition: opacity 0.16s ease;
}

.code-diff-line:hover .code-change-line-actions {
  opacity: 1;
}

.code-change-line-btn {
  width: 18px;
  height: 18px;
  padding: 0;
  font-size: 11px;
  line-height: 16px;
}

.code-diff-marker {
  display: inline-block;
  width: 22px;
  min-width: 22px;
  opacity: 0.8;
  user-select: none;
}

.code-diff-text {
  flex: 1;
  overflow-x: auto;
}

.code-diff-add {
  color: #dcfce7;
  background: rgba(34, 197, 94, 0.18);
}

.code-diff-del {
  color: #ffe4e6;
  background: rgba(244, 63, 94, 0.2);
}

.code-diff-context {
  color: #d4d4d8;
}

.code-diff-hidden {
  color: #94a3b8;
  background: rgba(148, 163, 184, 0.08);
  font-style: italic;
  text-align: center;
  user-select: none;
  justify-content: center;
}

.code-diff-accepted {
  box-shadow: inset 3px 0 0 rgba(34, 197, 94, 0.8);
}

.code-diff-rejected {
  opacity: 0.48;
  text-decoration: line-through;
  box-shadow: inset 3px 0 0 rgba(244, 63, 94, 0.8);
}

.code-change-confirmed {
  border-color: rgba(34, 197, 94, 0.55);
}

.code-change-rejected,
.code-change-conflict {
  border-color: rgba(244, 63, 94, 0.6);
}

.code-pending-review-panel {
  position: absolute;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 8px;
  border-radius: 15px;
  border: 1px solid rgba(100, 217, 254, 0.22);
  background: rgba(15, 15, 19, 0.86);
  backdrop-filter: blur(16px) saturate(150%);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.22),
    0 0 24px rgba(100, 217, 254, 0.08);
  z-index: 9;
}

.code-pending-header {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #e5e7eb;
  font-size: 12px;
  font-weight: 700;
}

.code-pending-summary {
  color: #94a3b8;
  font-weight: 500;
  margin-right: auto;
}

.code-pending-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 7px;
  max-height: 150px;
  overflow-y: auto;
}

.code-pending-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
}

.code-pending-badge {
  min-width: 32px;
  padding: 2px 6px;
  border-radius: 999px;
  color: #07131a;
  background: #64d9fe;
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}

.code-pending-file {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: #e5e7eb;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.code-pending-count,
.code-pending-more,
.code-pending-conflict {
  color: #94a3b8;
  font-size: 11px;
  white-space: nowrap;
}

.code-pending-conflict {
  color: #fb7185;
}

.code-pending-mini-btn {
  padding: 3px 7px;
  font-size: 11px;
  white-space: nowrap;
}
/* 复制按钮 */
.code-block-copy-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
  background: rgba(100, 217, 254, 0.15);
  border: 1.5px solid rgba(100, 217, 254, 0.3);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.34, 1.3, 0.64, 1);
  outline: none;
  user-select: none;
  box-shadow: 0 2px 8px rgba(100, 217, 254, 0.1);
}

.code-block-copy-btn:hover {
  background: rgba(100, 217, 254, 0.25);
  border-color: rgba(100, 217, 254, 0.5);
  box-shadow:
    0 4px 12px rgba(100, 217, 254, 0.2),
    0 0 20px rgba(100, 217, 254, 0.15);
  transform: translateY(-1px);
}

.code-block-copy-btn:active {
  transform: translateY(0) scale(0.98);
  box-shadow:
    0 2px 6px rgba(100, 217, 254, 0.15),
    0 0 15px rgba(100, 217, 254, 0.1);
}

/* 复制成功状态 */
.code-block-copy-btn.copied {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.5);
  box-shadow:
    0 4px 12px rgba(34, 197, 94, 0.2),
    0 0 20px rgba(34, 197, 94, 0.15);
}

.code-block-copy-btn.copied:hover {
  background: rgba(34, 197, 94, 0.3);
}

/* 图标样式 */
.code-block-copy-btn svg {
  flex-shrink: 0;
  opacity: 0.9;
}

.code-block-copy-btn .copy-text {
  font-size: 12px;
  white-space: nowrap;
}

/* 代码块本体 */
.code-block-enhanced {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.code-block-enhanced code {
  display: block;
  padding: 16px;
  font-family: "Consolas", "Monaco", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.6;
  color: #e4e4e7;
  background: transparent;
  overflow-x: auto;
  overflow-y: auto;
  max-height: 500px;
  white-space: pre;
  word-wrap: normal;
  -webkit-overflow-scrolling: touch;
}

/* 滚动条样式 - 横向和纵向 */
.code-block-enhanced code::-webkit-scrollbar {
  width: 8px; /* 垂直滚动条宽度 */
  height: 8px; /* 水平滚动条高度 */
}

.code-block-enhanced code::-webkit-scrollbar-track {
  background: rgba(100, 217, 254, 0.05);
  border-radius: 4px;
}

.code-block-enhanced code::-webkit-scrollbar-thumb {
  background: rgba(100, 217, 254, 0.3);
  border-radius: 4px;
  transition: background 0.2s ease;
}

.code-block-enhanced code::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 217, 254, 0.5);
}

/* 滚动条交汇处（当横向和纵向滚动条同时存在时） */
.code-block-enhanced code::-webkit-scrollbar-corner {
  background: rgba(100, 217, 254, 0.05);
}

/* 移动端优化 */
@media screen and (max-width: 768px) {
  .code-block-container {
    margin: 10px 0;
    border-radius: 10px;
  }

  .code-block-toolbar {
    padding: 6px 10px;
  }

  .code-block-language {
    font-size: 10px;
    padding: 3px 8px;
  }

  .code-block-copy-btn {
    padding: 5px 10px;
    font-size: 11px;
  }

  .code-block-enhanced code {
    padding: 12px;
    font-size: 12px;
    max-height: 350px; /* 移动端降低最大高度 */
  }
}

/* 内联代码样式（单个反引号） */
.chat-message.bot code:not(pre code),
.chat-message.user code:not(pre code),
.AI_Notes_AI_border code:not(pre code) {
  display: inline;
  padding: 2px 6px;
  font-family: "Consolas", "Monaco", "Courier New", monospace;
  font-size: 0.9em;
  color: #64d9fe;
  background: rgba(100, 217, 254, 0.1);
  border: 1px solid rgba(100, 217, 254, 0.2);
  border-radius: 4px;
  text-shadow: 0 0 6px rgba(100, 217, 254, 0.3);
}

/* 确保 pre 标签没有额外的样式干扰 */
.chat-message.bot pre,
.chat-message.user pre,
.AI_Notes_AI_border pre {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

/* =========================================
   按钮组容器
   ========================================= */
.code-block-button-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* =========================================
   运行按钮样式
   ========================================= */
.code-block-run-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
  background: rgba(34, 197, 94, 0.15);
  border: 1.5px solid rgba(34, 197, 94, 0.3);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.34, 1.3, 0.64, 1);
  outline: none;
  user-select: none;
  box-shadow: 0 2px 8px rgba(34, 197, 94, 0.1);
}

.code-block-run-btn:hover {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.5);
  box-shadow:
    0 4px 12px rgba(34, 197, 94, 0.2),
    0 0 20px rgba(34, 197, 94, 0.15);
  transform: translateY(-1px);
}

.code-block-run-btn:active {
  transform: translateY(0) scale(0.98);
  box-shadow:
    0 2px 6px rgba(34, 197, 94, 0.15),
    0 0 15px rgba(34, 197, 94, 0.1);
}

.code-block-run-btn svg {
  flex-shrink: 0;
  opacity: 0.9;
}

.code-block-run-btn .run-text {
  font-size: 12px;
  white-space: nowrap;
}

/* =========================================
   下载按钮样式
   ========================================= */
.code-block-download-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
  background: rgba(147, 51, 234, 0.15);
  border: 1.5px solid rgba(147, 51, 234, 0.3);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.34, 1.3, 0.64, 1);
  outline: none;
  user-select: none;
  box-shadow: 0 2px 8px rgba(147, 51, 234, 0.1);
}

.code-block-download-btn:hover {
  background: rgba(147, 51, 234, 0.25);
  border-color: rgba(147, 51, 234, 0.5);
  box-shadow:
    0 4px 12px rgba(147, 51, 234, 0.2),
    0 0 20px rgba(147, 51, 234, 0.15);
  transform: translateY(-1px);
}

.code-block-download-btn:active {
  transform: translateY(0) scale(0.98);
  box-shadow:
    0 2px 6px rgba(147, 51, 234, 0.15),
    0 0 15px rgba(147, 51, 234, 0.1);
}

.code-block-download-btn svg {
  flex-shrink: 0;
  opacity: 0.9;
}

.code-block-download-btn .download-text {
  font-size: 12px;
  white-space: nowrap;
}

/* =========================================
   存云按钮样式
   ========================================= */
.code-block-cloud-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.3);
  border-radius: 6px;
  cursor: pointer;
  color: rgba(34, 197, 94, 0.9);
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(34, 197, 94, 0.1);
}

.code-block-cloud-btn:hover {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.5);
  box-shadow:
    0 4px 12px rgba(34, 197, 94, 0.2),
    0 0 20px rgba(34, 197, 94, 0.15);
  transform: translateY(-1px);
}

.code-block-cloud-btn:active {
  transform: translateY(0) scale(0.98);
  box-shadow:
    0 2px 6px rgba(34, 197, 94, 0.15),
    0 0 15px rgba(34, 197, 94, 0.1);
}

.code-block-cloud-btn:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.code-block-cloud-btn svg {
  flex-shrink: 0;
  opacity: 0.9;
}

.code-block-cloud-btn .cloud-text {
  font-size: 12px;
  white-space: nowrap;
}

/* =========================================
   Python输出面板样式
   ========================================= */

/* 输出面板容器 - 居中显示 */
.python-output-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.95);
  width: 600px;
  max-width: calc(100vw - 40px);
  max-height: 70vh;
  background: rgba(15, 17, 25, 0.98);
  backdrop-filter: blur(10px) saturate(140%);
  border: 2px solid rgba(100, 217, 254, 0.4);
  border-radius: 12px;
  box-shadow:
    0 10px 40px rgba(0, 0, 0, 0.6),
    0 0 0 1px rgba(100, 217, 254, 0.2) inset,
    0 0 60px rgba(100, 217, 254, 0.15);
  z-index: 9998;
  opacity: 0;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* 显示动画 - 居中弹出 */
.python-output-panel.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* 输出面板头部 */
.python-output-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: linear-gradient(
    135deg,
    rgba(30, 33, 45, 0.95) 0%,
    rgba(20, 23, 35, 0.95) 100%
  );
  border-bottom: 1px solid rgba(100, 217, 254, 0.2);
  flex-shrink: 0;
}

/* 输出面板标题 */
.python-output-title {
  font-size: 14px;
  font-weight: 600;
  color: #64d9fe;
  text-shadow: 0 0 10px rgba(100, 217, 254, 0.5);
  letter-spacing: 0.5px;
}

/* 关闭按钮 */
.python-output-close {
  background: rgba(244, 67, 54, 0.15);
  border: 1.5px solid rgba(244, 67, 54, 0.3);
  color: #fff;
  font-size: 18px;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.25s cubic-bezier(0.34, 1.3, 0.64, 1);
  padding: 0;
  line-height: 1;
}

.python-output-close:hover {
  background: rgba(244, 67, 54, 0.3);
  border-color: rgba(244, 67, 54, 0.5);
  box-shadow: 0 0 15px rgba(244, 67, 54, 0.3);
  transform: scale(1.1);
}

.python-output-close:active {
  transform: scale(0.95);
}

/* 输出内容区域 */
.python-output-content {
  margin: 0;
  padding: 16px;
  color: #e4e4e7;
  font-family: "Consolas", "Monaco", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.7;
  overflow-x: auto;
  overflow-y: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
  flex: 1;
  background: rgba(0, 0, 0, 0.2);
}

/* 成功状态 */
.python-output-content.success {
  color: #a0e8d7;
}

/* 错误状态 */
.python-output-content.error {
  color: #ff6b6b;
  background: rgba(244, 67, 54, 0.05);
}

/* 输出内容滚动条 */
.python-output-content::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.python-output-content::-webkit-scrollbar-track {
  background: rgba(100, 217, 254, 0.05);
  border-radius: 4px;
}

.python-output-content::-webkit-scrollbar-thumb {
  background: rgba(100, 217, 254, 0.3);
  border-radius: 4px;
  transition: background 0.2s ease;
}

.python-output-content::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 217, 254, 0.5);
}

.python-output-content::-webkit-scrollbar-corner {
  background: rgba(100, 217, 254, 0.05);
}

/* 运行中状态样式 */
.python-output-content.running {
  color: #64d9fe;
}

/* 移动端优化 */
@media screen and (max-width: 768px) {
  .python-output-panel {
    width: calc(100vw - 20px);
    max-height: 70vh;
  }

  .python-output-header {
    padding: 10px 12px;
  }

  .python-output-title {
    font-size: 13px;
  }

  .python-output-content {
    padding: 12px;
    font-size: 12px;
  }
}

/* ===== Token 消耗统计样式 ===== */
.token-usage-info {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 6px 12px;
  margin: 4px 0 8px 0;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Consolas", "Monaco", monospace;
}

.token-usage-info .token-stats {
  /* 不用flex:1，让按钮紧跟在后面 */
}

.token-usage-info .token-actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
  padding-right: 20px;
}

.token-usage-info .token-btn {
  padding: 3px 8px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
}

.token-usage-info .token-btn:hover {
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

.token-usage-info .token-btn.success {
  color: #22c55e;
  border-color: rgba(34, 197, 94, 0.4);
}

@media screen and (max-width: 768px) {
  .token-usage-info {
    font-size: 11px;
    padding: 4px 8px;
    gap: 8px;
  }

  .token-usage-info .token-btn {
    padding: 2px 6px;
    font-size: 10px;
  }
}

/* ===== 钱包弹窗样式 ===== */
.wallet-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 320px;
  background: rgba(30, 30, 30, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
  overflow: hidden;
}

.wallet-container.show {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

.wallet-header {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.wallet-title {
  flex: 1;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}

.wallet-refresh-btn {
  width: 32px;
  height: 32px;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  font-size: 18px;
  cursor: pointer;
  margin-right: 12px;
  transition: all 0.2s ease;
}

.wallet-refresh-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}

.wallet-refresh-btn:active {
  transform: scale(0.95);
}

.wallet-refresh-btn.loading .refresh-icon {
  animation: spin 1s linear infinite;
  display: inline-block;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.wallet-close {
  width: 32px;
  height: 32px;
  border: none;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wallet-close:hover {
  background: rgba(255, 100, 100, 0.3);
  color: #ff6b6b;
}

.wallet-content {
  padding: 24px 20px;
}

.wallet-balance-section {
  text-align: center;
}

.wallet-balance-label {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 8px;
}

.wallet-balance-amount {
  font-size: 32px;
  font-weight: 700;
  color: #4ade80;
  font-family: "Consolas", "Monaco", monospace;
}

/* ===== 云盘空间显示 ===== */
.storage-info {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  font-family: "Consolas", "Monaco", monospace;
  white-space: nowrap;
  width: fit-content;
  /* 定位在 download-box 下方 */
  position: absolute;
  top: calc(20px + 15vh + 20px + 75vh + 8px);
  left: calc(5vw + 12px);
  margin-top: 12px; /* PC端 */
}

/* 手机端云盘空间位置调整 */
@media (max-width: 768px) {
  .storage-info {
    top: calc(10px + 15dvh + 10px + 75dvh + 8px);
    margin-top: 0;
  }
}

.storage-used {
  color: #4ade80;
}

.storage-separator {
  color: rgba(255, 255, 255, 0.3);
}

.storage-total {
  color: rgba(255, 255, 255, 0.5);
}

/* ===== 复制选择菜单样式（模糊玻璃风格）===== */
.copy-select-menu {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 6px;
  min-width: 130px;
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  animation: copyMenuOpen 0.25s cubic-bezier(0.34, 1.3, 0.64, 1);
  /* transform-origin 由 JS 动态设置 */
}

/* 关闭动画类 */
.copy-select-menu.closing {
  animation: copyMenuClose 0.2s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

@keyframes copyMenuOpen {
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes copyMenuClose {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0);
  }
}

.copy-menu-item {
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  border-radius: 8px;
  margin: 2px 0;
}

.copy-menu-item:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* ===== 代码块多选合并样式 ===== */

/* 多选模式下的全局状态 */
body.code-block-multi-select-mode {
  user-select: none;
  -webkit-user-select: none;
}

/* 代码块合并遮罩 */
.code-block-merge-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 15, 19, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 12px;
}

.code-block-merge-overlay:hover {
  background: rgba(15, 15, 19, 0.65);
}

/* 遮罩内容容器 */
.merge-overlay-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 20px;
}

/* 选择序号指示器 */
.merge-selection-indicator {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(100, 217, 254, 0.15);
  border: 2px dashed rgba(100, 217, 254, 0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  color: rgba(100, 217, 254, 0.5);
  transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
}

.merge-selection-indicator.visible {
  background: linear-gradient(135deg, #64d9fe 0%, #4ec9b0 100%);
  border: 2px solid rgba(255, 255, 255, 0.3);
  color: #0f0f13;
  box-shadow:
    0 4px 20px rgba(100, 217, 254, 0.4),
    0 0 30px rgba(100, 217, 254, 0.2);
  transform: scale(1.1);
}

/* 选中状态的代码块 */
.code-block-container.code-block-selected .code-block-merge-overlay {
  background: rgba(100, 217, 254, 0.1);
  border: 2px solid rgba(100, 217, 254, 0.5);
}

.code-block-container.code-block-selected .code-block-merge-overlay:hover {
  background: rgba(100, 217, 254, 0.15);
}

/* 确定合并按钮 */
.merge-confirm-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #4ec9b0 0%, #3db89f 100%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 25px;
  color: #0f0f13;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
  box-shadow:
    0 4px 15px rgba(78, 201, 176, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.merge-confirm-btn:hover {
  transform: scale(1.05);
  box-shadow:
    0 6px 25px rgba(78, 201, 176, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.merge-confirm-btn:active {
  transform: scale(0.98);
}

.merge-confirm-btn svg {
  flex-shrink: 0;
}

/* 取消按钮 */
.merge-cancel-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(244, 67, 54, 0.15);
  border: 1px solid rgba(244, 67, 54, 0.3);
  color: #ff6b6b;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.25s ease;
  padding: 0;
}

.merge-cancel-btn:hover {
  background: rgba(244, 67, 54, 0.3);
  border-color: rgba(244, 67, 54, 0.5);
  transform: scale(1.1);
  box-shadow: 0 0 15px rgba(244, 67, 54, 0.3);
}

.merge-cancel-btn:active {
  transform: scale(0.95);
}

/* 编辑按钮 */
.merge-edit-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #ffa726 0%, #ff9800 100%);
  border: none;
  border-radius: 20px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow:
    0 4px 15px rgba(255, 152, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.merge-edit-btn:hover {
  transform: scale(1.05);
  box-shadow:
    0 6px 25px rgba(255, 152, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.merge-edit-btn:active {
  transform: scale(0.98);
}

.merge-edit-btn svg {
  flex-shrink: 0;
}

/* ===== 代码块编辑模式样式 ===== */

.code-block-edit-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: rgba(20, 20, 25, 0.95);
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid rgba(255, 152, 0, 0.4);
  box-shadow: 0 4px 20px rgba(255, 152, 0, 0.2);
}

.code-block-edit-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: linear-gradient(
    135deg,
    rgba(255, 152, 0, 0.15) 0%,
    rgba(255, 167, 38, 0.1) 100%
  );
  border-bottom: 1px solid rgba(255, 152, 0, 0.3);
}

.code-block-edit-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffa726;
  font-size: 13px;
  font-weight: 600;
}

.code-block-edit-label svg {
  flex-shrink: 0;
}

.code-block-edit-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.code-block-save-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: linear-gradient(135deg, #4ec9b0 0%, #3daa96 100%);
  border: none;
  border-radius: 16px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 10px rgba(78, 201, 176, 0.3);
}

.code-block-save-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 15px rgba(78, 201, 176, 0.5);
}

.code-block-save-btn:active {
  transform: scale(0.95);
}

.code-block-cancel-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: rgba(244, 67, 54, 0.15);
  border: 1px solid rgba(244, 67, 54, 0.3);
  border-radius: 50%;
  color: #ff6b6b;
  cursor: pointer;
  transition: all 0.2s ease;
}

.code-block-cancel-btn:hover {
  background: rgba(244, 67, 54, 0.3);
  border-color: rgba(244, 67, 54, 0.5);
  transform: scale(1.1);
}

.code-block-cancel-btn:active {
  transform: scale(0.9);
}

.code-block-edit-textarea {
  width: 100%;
  min-height: 60px;
  max-height: 400px;
  padding: 16px;
  background: rgba(15, 15, 19, 0.98);
  border: none;
  color: #e0e0e0;
  font-family: "Consolas", "Monaco", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.6;
  resize: none;
  outline: none;
  box-sizing: border-box;
  overflow: auto;
  white-space: pre;
  word-wrap: normal;
  overflow-wrap: normal;
}

.code-block-edit-textarea:focus {
  background: rgba(20, 20, 25, 1);
  box-shadow: inset 0 0 0 1px rgba(255, 152, 0, 0.3);
}

.code-block-edit-textarea::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

/* 编辑textarea滚动条样式 - 与代码块一致 */
.code-block-edit-textarea::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.code-block-edit-textarea::-webkit-scrollbar-track {
  background: rgba(100, 217, 254, 0.05);
  border-radius: 4px;
}

.code-block-edit-textarea::-webkit-scrollbar-thumb {
  background: rgba(100, 217, 254, 0.3);
  border-radius: 4px;
  transition: background 0.2s ease;
}

.code-block-edit-textarea::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 217, 254, 0.5);
}

.code-block-edit-textarea::-webkit-scrollbar-corner {
  background: rgba(100, 217, 254, 0.05);
}

/* 移动端编辑模式优化 */
@media screen and (max-width: 768px) {
  .code-block-edit-textarea {
    max-height: 350px;
    padding: 12px;
    font-size: 12px;
  }

  .code-block-edit-toolbar {
    padding: 8px 10px;
  }

  .code-block-edit-label {
    font-size: 12px;
  }

  .code-block-save-btn {
    padding: 5px 10px;
    font-size: 11px;
  }

  .code-block-cancel-btn {
    width: 24px;
    height: 24px;
  }
}

/* 编辑模式下隐藏粒子画布 */
.code-block-container:has(.code-block-edit-container) .code-block-particles {
  display: none;
}

/* 合并的代码标识 */
.merged-code-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: linear-gradient(
    135deg,
    rgba(100, 217, 254, 0.15) 0%,
    rgba(78, 201, 176, 0.15) 100%
  );
  border: 1px solid rgba(100, 217, 254, 0.3);
  border-radius: 12px;
  color: #64d9fe;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 8px;
}

.merged-code-label svg {
  flex-shrink: 0;
}

/* 多选模式动画 */
@keyframes pulseSelection {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(100, 217, 254, 0.4);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(100, 217, 254, 0);
  }
}

.code-block-container.code-block-selected {
  animation: pulseSelection 2s infinite;
}

/* ===== 对话记录导入功能样式 ===== */

/* 对话记录文件项特殊样式 */
.download-item.chat-record-file {
  border-left: 3px solid #64d9fe;
  background: linear-gradient(
    135deg,
    rgba(100, 217, 254, 0.05) 0%,
    rgba(78, 201, 176, 0.05) 100%
  );
}

/* 对话记录导入按钮样式（与视频/音频/文档按钮完全一致） */
.chat-record-import-button {
  position: absolute;
  right: 75px;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.34, 1.3, 0.64, 1);
  z-index: 10;
  box-shadow:
    0 3px 12px rgba(100, 217, 254, 0.25),
    inset 0 0 20px rgba(100, 217, 254, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    135deg,
    rgba(100, 217, 254, 0.25) 0%,
    rgba(78, 201, 176, 0.15) 100%
  );
  backdrop-filter: blur(10px);
  border: 1px solid rgba(100, 217, 254, 0.3);
  box-sizing: border-box;
}

.chat-record-import-button:hover {
  transform: translateY(-50%);
}

.chat-record-import-button::before {
  content: "📥";
  font-size: 20px;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.chat-record-import-button.loading::before {
  content: "⏳";
  animation: pulse 1s ease-in-out infinite;
}

/* 导入确认弹窗遮罩（与邮箱弹窗风格一致） */
.chat-record-import-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: chatRecordOverlayIn 0.3s ease forwards;
}

.chat-record-import-overlay.closing {
  animation: chatRecordOverlayOut 0.3s ease forwards;
}

@keyframes chatRecordOverlayIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes chatRecordOverlayOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* 导入确认弹窗（与邮箱弹窗风格一致） */
.chat-record-import-modal {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  border-radius: 20px;
  padding: 0;
  max-width: 400px;
  width: 90vw;
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.35),
    0 2px 10px rgba(255, 255, 255, 0.2) inset,
    0 0 0 1px rgba(255, 255, 255, 0.15);
  animation: chatRecordModalIn 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.chat-record-import-modal.closing {
  animation: chatRecordModalOut 0.3s ease forwards;
}

@keyframes chatRecordModalIn {
  from {
    transform: translateY(-50px) scale(0.9);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

@keyframes chatRecordModalOut {
  from {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  to {
    transform: translateY(30px) scale(0.85);
    opacity: 0;
  }
}

.chat-record-import-header {
  padding: 20px 25px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.chat-record-import-title {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
}

.chat-record-import-title::before {
  content: "📥";
  font-size: 20px;
}

.chat-record-import-body {
  padding: 25px;
}

.chat-record-import-body p {
  margin: 0 0 15px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  line-height: 1.6;
}

.chat-record-import-filename {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 12px 15px;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  word-break: break-all;
  font-size: 14px;
}

.chat-record-import-warning {
  color: rgba(255, 193, 7, 0.9) !important;
  font-size: 13px !important;
  margin-top: 15px !important;
  padding: 10px 12px;
  background: rgba(255, 193, 7, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(255, 193, 7, 0.2);
}

.chat-record-import-footer {
  display: flex;
  gap: 12px;
  padding: 0 25px 25px;
  justify-content: flex-end;
}

.chat-record-import-cancel,
.chat-record-import-confirm {
  padding: 12px 24px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}

.chat-record-import-cancel {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.chat-record-import-cancel:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  transform: translateY(-2px);
}

.chat-record-import-confirm {
  background: rgba(255, 255, 255, 0.15);
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  color: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.chat-record-import-confirm:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.15);
}

.chat-record-import-confirm:active {
  transform: translateY(0);
}

.chat-record-import-confirm:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
}

/* 移动端适配 */
@media (max-width: 768px) {
  .chat-record-import-button {
    width: 50px !important;
    height: 50px !important;
    right: 70px !important;
    border-radius: 8px !important;
  }

  .chat-record-import-button:hover {
    transform: none !important;
  }

  .chat-record-import-button::before {
    font-size: 20px;
  }

  .chat-record-import-modal {
    width: 95%;
  }

  .chat-record-import-header {
    padding: 16px 20px 12px;
  }

  .chat-record-import-body {
    padding: 16px 20px;
  }

  .chat-record-import-footer {
    padding: 12px 20px 16px;
  }
}

/* ==================== 电影院模块 ==================== */
/* 风格：灰色背景 #333 + 毛玻璃白(液态玻璃) + #A0E8D7 青色品牌色 */
.cinema-page {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #333333;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 80px;
  transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cinema-page.page-hide {
  opacity: 0;
  pointer-events: none;
}

.cinema-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  gap: 8px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}

.cinema-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  backdrop-filter: blur(4px);
  filter: url(#lg-dist);
  isolation: isolate;
  pointer-events: none;
}

.cinema-header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1);
  pointer-events: none;
}

.cinema-tabs {
  display: flex;
  gap: 4px;
}

.cinema-tab {
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
}

.cinema-tab.active {
  background: rgba(160, 232, 215, 0.2);
  color: #a0e8d7;
  font-weight: 600;
  border: 1px solid rgba(160, 232, 215, 0.3);
}

.cinema-tab:hover:not(.active) {
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.06);
}

.cinema-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cinema-search-input {
  width: 140px;
  padding: 6px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  color: white;
  font-size: 12px;
  outline: none;
  transition: all 0.3s ease;
}

.cinema-search-input:focus {
  width: 200px;
  border-color: rgba(160, 232, 215, 0.5);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 0 12px rgba(160, 232, 215, 0.15);
}

.cinema-search-input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.cinema-ai-search-btn {
  padding: 5px 10px;
  border-radius: 14px;
  border: 1px solid rgba(160, 232, 215, 0.3);
  background: rgba(160, 232, 215, 0.1);
  color: #a0e8d7;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.cinema-ai-search-btn:active {
  background: rgba(160, 232, 215, 0.25);
  transform: scale(0.95);
}

.cinema-ai-search-btn.searching {
  opacity: 0.6;
  pointer-events: none;
}

.cinema-settings-btn,
.cinema-refresh-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: all 0.3s ease;
  user-select: none;
}

.cinema-settings-btn:hover,
.cinema-refresh-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.25);
  transform: scale(1.05);
}

.cinema-refresh-btn {
  color: rgba(255, 255, 255, 0.6);
  font-size: 18px;
}

/* 路径设置面板 - 液态玻璃风格（与cinema-header一致） */
.cinema-path-panel {
  margin: 22px 16px 12px 16px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.06);
  position: relative;
  overflow: hidden;
}

.cinema-path-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  backdrop-filter: blur(4px);
  filter: url(#lg-dist);
  isolation: isolate;
  pointer-events: none;
  border-radius: 20px;
}

.cinema-path-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1);
  pointer-events: none;
}

.cinema-path-title {
  font-size: 15px;
  font-weight: 600;
  color: white;
  margin-bottom: 6px;
}

.cinema-path-desc {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 14px;
}

.cinema-path-current {
  margin-top: 10px;
  font-size: 12px;
  color: rgba(160, 232, 215, 0.7);
}

/* 文件夹浏览器 */
.cinema-folder-browser {
  margin-top: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.cinema-folder-breadcrumb {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}

.cinema-breadcrumb-item {
  cursor: pointer;
  color: rgba(160, 232, 215, 0.8);
  transition: color 0.2s ease;
}

.cinema-breadcrumb-item:hover {
  color: #a0e8d7;
}

.cinema-breadcrumb-sep {
  color: rgba(255, 255, 255, 0.25);
  font-size: 10px;
}

.cinema-folder-list {
  max-height: 240px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.cinema-folder-list::-webkit-scrollbar {
  width: 4px;
}

.cinema-folder-list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}

.cinema-folder-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  transition: background 0.2s ease;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.cinema-folder-item:hover {
  background: rgba(255, 255, 255, 0.08);
}

.cinema-folder-item:last-child {
  border-bottom: none;
}

.cinema-folder-icon {
  font-size: 18px;
  flex-shrink: 0;
}

.cinema-folder-name {
  flex: 1;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cinema-folder-loading {
  text-align: center;
  padding: 20px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
}

.cinema-folder-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.cinema-folder-select-btn {
  padding: 7px 18px;
  border-radius: 10px;
  background: rgba(160, 232, 215, 0.2);
  color: #a0e8d7;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
  border: 1px solid rgba(160, 232, 215, 0.3);
}

.cinema-folder-select-btn:hover {
  background: rgba(160, 232, 215, 0.35);
  box-shadow: 0 0 12px rgba(160, 232, 215, 0.2);
}

/* 扫描进度 - 液态玻璃 sticky覆盖层 */
.cinema-scan-progress {
  position: sticky;
  top: 0;
  z-index: 10;
  margin: 0 16px 12px;
  padding: 22px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.cinema-scan-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(160, 232, 215, 0.2);
  border-top-color: #a0e8d7;
  border-radius: 50%;
  margin: 0 auto 12px;
  animation: cinema-spin 0.8s linear infinite;
}

@keyframes cinema-spin {
  to {
    transform: rotate(360deg);
  }
}

.cinema-scan-text {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 12px;
}

.cinema-scan-bar-bg {
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.cinema-scan-bar {
  height: 100%;
  width: 0%;
  border-radius: 2px;
  background: linear-gradient(90deg, #a0e8d7, #7dd3c0);
  transition: width 0.5s ease;
  box-shadow: 0 0 8px rgba(160, 232, 215, 0.4);
}

@keyframes cinema-pulse {
  0%,
  100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.9;
  }
}

.cinema-ai-list {
  max-height: 200px;
  overflow-y: auto;
  margin-top: 12px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 13px;
  line-height: 1.6;
}

.cinema-ai-list::-webkit-scrollbar {
  width: 4px;
}

.cinema-ai-list::-webkit-scrollbar-thumb {
  background: rgba(160, 232, 215, 0.3);
  border-radius: 2px;
}

.cinema-ai-item {
  padding: 3px 0;
  animation: cinema-ai-fade-in 0.3s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cinema-ai-orig {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: line-through;
}

.cinema-ai-arrow {
  color: #a0e8d7;
  margin: 0 6px;
  font-weight: bold;
}

.cinema-ai-fix {
  color: #a0e8d7;
  font-weight: 500;
}

.cinema-ai-divider {
  text-align: center;
  color: rgba(160, 232, 215, 0.6);
  font-size: 12px;
  padding: 6px 0;
  margin: 4px 0;
  border-top: 1px solid rgba(160, 232, 215, 0.15);
}

@keyframes cinema-ai-fade-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cinema-ai-thinking {
  padding: 8px 0;
  animation: cinema-ai-fade-in 0.3s ease;
}

.cinema-ai-thinking-label {
  display: block;
  font-size: 12px;
  color: #a0e8d7;
  font-weight: 600;
  margin-bottom: 4px;
  animation: cinema-pulse 1.5s ease-in-out infinite;
}

.cinema-ai-thinking-done .cinema-ai-thinking-label {
  animation: none;
  opacity: 0.5;
}

.cinema-ai-thinking-text {
  display: block;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-all;
  max-height: 120px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.cinema-ai-thinking-text::-webkit-scrollbar {
  width: 4px;
}

.cinema-ai-thinking-text::-webkit-scrollbar-track {
  background: transparent;
}

.cinema-ai-thinking-text::-webkit-scrollbar-thumb {
  background: rgba(160, 232, 215, 0.3);
  border-radius: 2px;
}

.cinema-ai-thinking-text::-webkit-scrollbar-thumb:hover {
  background: rgba(160, 232, 215, 0.5);
}

.cinema-ai-thinking-done .cinema-ai-thinking-text {
  max-height: 60px;
  opacity: 0.3;
}

/* 空状态 */
.cinema-empty {
  text-align: center;
  padding: 80px 20px;
}

.cinema-empty-icon {
  font-size: 64px;
  margin-bottom: 16px;
}

.cinema-empty-text {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 8px;
}

.cinema-empty-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
}

/* 海报墙网格 */
.cinema-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 14px;
  padding: 14px 16px;
}

.cinema-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.cinema-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.2);
}

.cinema-card:active {
  transform: scale(0.97);
}

.cinema-card-poster {
  width: 100%;
  aspect-ratio: 2/3;
  object-fit: cover;
  display: block;
  background: rgba(255, 255, 255, 0.04);
}

.cinema-card-no-poster {
  width: 100%;
  aspect-ratio: 2/3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    135deg,
    rgba(160, 232, 215, 0.1),
    rgba(51, 51, 51, 0.9)
  );
  font-size: 36px;
}

.cinema-card-info {
  padding: 8px 8px 10px;
}

.cinema-card-title {
  font-size: 12px;
  font-weight: 600;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.cinema-card-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.4);
}

.cinema-card-rating {
  color: #f5c518;
  font-weight: 600;
}

.cinema-card-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.85);
}

.cinema-card-episodes-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 600;
  background: rgba(160, 232, 215, 0.2);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(160, 232, 215, 0.3);
  color: #a0e8d7;
}

/* 影片详情弹窗 - 液态玻璃 */
.cinema-detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

@keyframes cinema-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.cinema-detail-panel {
  position: relative;
  width: 100%;
  max-width: 800px;
  max-height: 85vh;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(30px) saturate(180%);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  border-radius: 24px 24px 0 0;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-bottom: none;
  box-shadow:
    0 -8px 40px rgba(0, 0, 0, 0.3),
    0 2px 10px rgba(255, 255, 255, 0.1) inset;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.cinema-detail-close {
  position: absolute;
  top: 12px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 16px;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
}

.cinema-detail-close:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.1);
}

.cinema-detail-backdrop {
  width: 100%;
  height: 260px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.cinema-detail-backdrop::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(transparent, rgba(51, 51, 51, 0.95));
}

.cinema-detail-info {
  padding: 0 20px 16px;
  margin-top: -40px;
  position: relative;
  z-index: 2;
}

.cinema-detail-title {
  font-size: 24px;
  font-weight: 700;
  color: white;
  margin-bottom: 4px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.cinema-detail-original-title {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 10px;
}

.cinema-detail-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}

.cinema-detail-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #f5c518;
  font-weight: 600;
  font-size: 14px;
}

.cinema-detail-overview {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.6;
  margin-bottom: 16px;
}

.cinema-detail-episodes {
  padding: 0 20px 20px;
}

.cinema-detail-episodes-title {
  font-size: 16px;
  font-weight: 600;
  color: white;
  margin-bottom: 10px;
}

.cinema-detail-episode-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cinema-detail-episode-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: all 0.2s ease;
}

.cinema-detail-episode-item:hover {
  background: rgba(160, 232, 215, 0.1);
  border-color: rgba(160, 232, 215, 0.2);
}

.cinema-detail-episode-name {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-right: 8px;
}

.cinema-detail-episode-play {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(160, 232, 215, 0.2);
  border: 1px solid rgba(160, 232, 215, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a0e8d7;
  font-size: 14px;
  flex-shrink: 0;
}

/* 豆瓣评分 */
.cinema-detail-douban {
  color: #4caf50;
  font-weight: 600;
}

/* IMDB评分 */
.cinema-detail-imdb {
  color: #f5c518;
  font-weight: 600;
}

/* 季标题头 */
.cinema-season-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
}

.cinema-season-poster {
  width: 40px;
  height: 60px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.cinema-season-info {
  flex: 1;
  min-width: 0;
}

.cinema-season-name {
  font-size: 13px;
  font-weight: 600;
  color: #a0e8d7;
}

.cinema-season-overview {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 富集卡片（带剧照） */
.cinema-detail-episode-rich {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: all 0.2s ease;
}

.cinema-detail-episode-rich:hover {
  background: rgba(160, 232, 215, 0.1);
  border-color: rgba(160, 232, 215, 0.2);
}

.cinema-ep-still {
  width: 120px;
  height: 68px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.05);
}

.cinema-ep-rich-info {
  flex: 1;
  min-width: 0;
}

.cinema-ep-meta {
  display: flex;
  gap: 8px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 3px;
}

.cinema-ep-overview {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
}

/* 底部导航 */
.cinema-bottom-nav {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 100;
}

.cinema-bottom-nav .AI_button1 {
  position: relative;
}

/* 最近观看横栏 */
.cinema-recent-section {
  padding: 12px 16px 0;
}

.cinema-recent-title {
  font-size: 15px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 10px;
}

.cinema-recent-scroll {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 12px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.cinema-recent-scroll::-webkit-scrollbar {
  display: none;
}

.cinema-recent-card {
  flex-shrink: 0;
  width: 100px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.cinema-recent-card:active {
  transform: scale(0.95);
}

.cinema-recent-poster {
  width: 100px;
  height: 140px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}

.cinema-recent-no-poster {
  width: 100px;
  height: 140px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}

.cinema-recent-info {
  margin-top: 6px;
}

.cinema-recent-name {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cinema-recent-ep {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 2px;
}

/* 集数高亮闪烁动画 */
.cinema-episode-highlight {
  animation: cinemaEpFlash 0.5s ease 5;
}

@keyframes cinemaEpFlash {
  0%,
  100% {
    background: transparent;
  }
  50% {
    background: rgba(160, 232, 215, 0.25);
  }
}

/* 滚动条风格 */
.cinema-page::-webkit-scrollbar {
  width: 4px;
}

.cinema-page::-webkit-scrollbar-track {
  background: transparent;
}

.cinema-page::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}

.cinema-page::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.25);
}

.cinema-detail-panel::-webkit-scrollbar {
  width: 4px;
}

.cinema-detail-panel::-webkit-scrollbar-track {
  background: transparent;
}

.cinema-detail-panel::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}

.cinema-detail-panel::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* 响应式 - 桌面端 */
@media (min-width: 600px) {
  .cinema-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 18px;
    padding: 18px 24px;
  }

  .cinema-detail-overlay {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }

  .cinema-detail-panel {
    width: 100%;
    max-width: 100%;
    max-height: 100vh;
    border-radius: 0;
    border: none;
    margin: 0;
  }

  .cinema-detail-backdrop {
    height: 400px;
  }

  .cinema-detail-backdrop::after {
    height: 200px;
  }

  .cinema-detail-info {
    max-width: 900px;
    margin-top: -60px;
    padding: 0 40px 20px;
  }

  .cinema-detail-title {
    font-size: 32px;
  }

  .cinema-detail-meta {
    font-size: 14px;
    gap: 16px;
  }

  .cinema-detail-overview {
    font-size: 15px;
    max-width: 700px;
  }

  .cinema-detail-episodes {
    padding: 0 40px 40px;
  }

  .cinema-detail-episodes-title {
    font-size: 20px;
    margin-bottom: 16px;
  }

  .cinema-detail-episode-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 10px;
  }

  .cinema-season-header {
    grid-column: 1 / -1;
    padding: 12px 0;
  }

  .cinema-season-poster {
    width: 50px;
    height: 75px;
  }

  .cinema-detail-episode-rich {
    padding: 12px;
  }

  .cinema-ep-still {
    width: 160px;
    height: 90px;
  }

  .cinema-ep-overview {
    -webkit-line-clamp: 3;
  }

  .cinema-detail-close {
    top: 20px;
    right: 24px;
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
}

@media (min-width: 900px) {
  .cinema-grid {
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  }
}

/* 响应式 - 手机端适配 */
@media (max-width: 599px) {
  .cinema-header-right {
    width: 100%;
    order: -1;
  }

  .cinema-tabs {
    width: 100%;
    gap: 2px;
  }

  .cinema-tab {
    padding: 5px 10px;
    font-size: 12px;
  }

  .cinema-search-input {
    flex: 1;
    min-width: 0;
    font-size: 11px;
    padding: 5px 10px;
  }

  .cinema-search-input:focus {
    width: auto;
  }

  .cinema-grid {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
    padding: 10px 12px;
  }

  .cinema-card {
    border-radius: 12px;
  }

  .cinema-card-title {
    font-size: 11px;
  }

  /* 手机端详情弹窗 - 全屏 */
  .cinema-detail-panel {
    max-height: 90vh;
    border-radius: 20px 20px 0 0;
  }

  .cinema-detail-backdrop {
    height: 180px;
  }

  .cinema-detail-title {
    font-size: 18px;
  }

  .cinema-detail-overview {
    font-size: 12px;
    line-height: 1.5;
  }

  /* 手机端集数列表 - 更大的触控区域 */
  .cinema-detail-episode-item {
    padding: 12px 14px;
    min-height: 44px;
  }

  .cinema-detail-episode-rich {
    padding: 8px 10px;
  }

  .cinema-ep-still {
    width: 100px;
    height: 56px;
  }

  .cinema-detail-episode-name {
    font-size: 13px;
  }

  .cinema-detail-episode-play {
    width: 34px;
    height: 34px;
    font-size: 14px;
  }

  /* 手机端关闭按钮 - 更大 */
  .cinema-detail-close {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  /* 手机端设置/刷新按钮 - 更大触控区域 */
  .cinema-settings-btn,
  .cinema-refresh-btn {
    width: 36px;
    height: 36px;
    font-size: 18px;
  }

  /* 手机端文件夹浏览器 - 更大触控 */
  .cinema-folder-item {
    padding: 12px 14px;
    min-height: 44px;
  }

  .cinema-folder-select-btn {
    padding: 10px 22px;
    font-size: 14px;
  }
}

/* =========================================
   [[open:URL]] 打开网页链接卡片
   ========================================= */
.open-link-card {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  margin: 2px 0;
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 6px;
  color: #60a5fa !important;
  text-decoration: none !important;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
}
.open-link-card:hover {
  background: rgba(59, 130, 246, 0.2);
  border-color: rgba(59, 130, 246, 0.5);
  color: #93bbfc !important;
}
.open-link-card.open-link-pulse {
  animation: openLinkPulse 0.8s ease-in-out 3;
}
@keyframes openLinkPulse {
  0%,
  100% {
    background: rgba(59, 130, 246, 0.1);
    box-shadow: none;
  }
  50% {
    background: rgba(59, 130, 246, 0.35);
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.5);
  }
}

/* ===== 最高优先级：强制自定义菜单纯色背景 ===== */
/* 覆盖所有可能的样式冲突 */
.AI_custom_dropdown {
  background: rgba(30, 30, 40, 0.95) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* 确保在所有媒体查询中都生效 */
@media screen and (max-width: 768px) {
  .AI_custom_dropdown {
    background: rgba(30, 30, 40, 0.95) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
  }
}

/* ===== 文件链接卡片样式 ===== */
.file-link-card {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  margin: 2px 4px 2px 0;
  background: rgba(59, 130, 246, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.4);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 12px;
  line-height: 1.4;
  max-width: 100%;
  overflow: hidden;
}

.file-link-card:hover {
  background: rgba(59, 130, 246, 0.25);
  border-color: rgba(59, 130, 246, 0.6);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.2);
}

.file-link-card.copied {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.6);
  animation: copiedPulse 0.4s ease;
}

@keyframes copiedPulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.file-link-label {
  color: #60a5fa;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}

.file-link-url {
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: "SF Mono", "Monaco", "Inconsolata", monospace;
}
