@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* ============================================== */
  /* DeepSeek Official Design Language (Default Light) */
  /* ============================================== */
  --ds-blue: #4D6BFE;
  --ds-blue-hover: #3C58DE;
  --ds-blue-light: #EEF2FF;
  --ds-blue-border: #C7D2FE;

  --bg-app: #FFFFFF;
  --bg-sidebar: #F7F7F8;
  --bg-sidebar-hover: #EBECEF;
  --bg-header: rgba(255, 255, 255, 0.95);
  --bg-card: #FFFFFF;
  --bg-card-hover: #F9FAFB;
  --bg-dock: #FFFFFF;
  --bg-bubble-user: #F0F2F5;
  --bg-thinking: #F9FAFB;

  --border-subtle: #E5E7EB;
  --border-strong: #D1D5DB;

  --text-main: #1D1E20;
  --text-muted: #66686E;
  --text-faint: #9CA3AF;

  --primary: #4D6BFE;
  --primary-hover: #3C58DE;
  --accent-emerald: #10B981;
}

/* DeepSeek Zinc Dark Theme (chat.deepseek.com Dark Mode) */
body.theme-dark {
  --bg-app: #191A1E;
  --bg-sidebar: #131416;
  --bg-sidebar-hover: #1E2024;
  --bg-header: rgba(25, 26, 30, 0.95);
  --bg-card: #212328;
  --bg-card-hover: #2A2C32;
  --bg-dock: #212328;
  --bg-bubble-user: #2C2E34;
  --bg-thinking: #1E2024;

  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.16);

  --text-main: #F3F4F6;
  --text-muted: #9CA3AF;
  --text-faint: #6B7280;

  --ds-blue-light: rgba(77, 107, 254, 0.15);
  --ds-blue-border: rgba(77, 107, 254, 0.4);
}

* {
  box-sizing: border-box;
}

body {
  font-family: var(--font-sans);
  background-color: var(--bg-app);
  color: var(--text-main);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
  margin: 0;
  padding: 0;
}

code, pre, .font-mono {
  font-family: var(--font-mono);
}

/* Minimalist DeepSeek Scrollbar */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.3);
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(156, 163, 175, 0.5);
}

/* DeepSeek Header Surface */
.glass-header {
  background: var(--bg-header);
  border-bottom: 1px solid var(--border-subtle);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* DeepSeek Floating Command Bar */
.glass-floating-bar {
  background: var(--bg-dock);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.02);
  transition: border-color 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.glass-floating-bar:focus-within {
  border-color: var(--ds-blue);
  box-shadow: 0 8px 30px -4px rgba(77, 107, 254, 0.15), 0 0 0 2px rgba(77, 107, 254, 0.15);
}

/* Composer Top Drag Resizer Handle (可往上拖动放大 + 档位快捷切换) */
.composer-resize-handle {
  width: 100%;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: ns-resize;
  cursor: row-resize;
  user-select: none;
  touch-action: none;
  padding: 2px 12px;
  border-bottom: 1px solid var(--border-subtle);
  background: rgba(0, 0, 0, 0.015);
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  transition: all 0.15s ease;
}
.composer-resize-handle:hover,
.composer-resize-handle.active {
  background: rgba(77, 107, 254, 0.08);
}
.resize-handle-bar {
  display: inline-block;
  width: 28px;
  height: 3px;
  border-radius: 9999px;
  background: var(--border-strong);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.composer-resize-handle:hover .resize-handle-bar,
.composer-resize-handle.active .resize-handle-bar {
  background: var(--ds-blue);
  width: 42px;
  box-shadow: 0 0 8px rgba(77, 107, 254, 0.4);
}
.resize-presets-strip {
  display: flex;
  align-items: center;
  gap: 4px;
}
.preset-btn {
  font-size: 10px;
  font-weight: 500;
  padding: 1px 7px;
  border-radius: 6px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
}
.preset-btn:hover {
  background: var(--ds-blue-light);
  color: var(--ds-blue);
  border-color: var(--ds-blue);
}
.preset-btn.active {
  background: var(--ds-blue);
  color: #ffffff;
  border-color: var(--ds-blue);
}

/* Agent Input Textarea (默认宽敞 96px、字体大而清晰 16px、支持原生垂直拖拉与自适应生长) */
#agentInput {
  min-height: 96px;
  max-height: 600px;
  line-height: 1.7;
  font-size: 16px;
  font-weight: 450;
  box-sizing: border-box;
  resize: vertical;
  scrollbar-width: thin;
  scrollbar-color: var(--border-strong) transparent;
}
#agentInput::placeholder {
  font-size: 15px;
  color: var(--text-faint);
  line-height: 1.65;
}
#agentInput::-webkit-scrollbar {
  width: 6px;
}
#agentInput::-webkit-scrollbar-track {
  background: transparent;
}
#agentInput::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: 9999px;
}

/* Standard Clean Cards */
.glass-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.glass-card:hover {
  border-color: var(--border-strong);
  background: var(--bg-card-hover);
}

/* DeepSeek Active Nav Item */
.nav-item {
  color: var(--text-muted);
  user-select: none;
  -webkit-user-select: none;
  position: relative;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.nav-item span {
  display: inline-block;
  white-space: nowrap;
}
.nav-item:hover {
  color: var(--text-main);
  background: var(--bg-sidebar-hover);
}
.nav-item-active {
  background: var(--ds-blue-light) !important;
  color: var(--ds-blue) !important;
  font-weight: 600 !important;
  border-radius: 0.75rem;
}
body.theme-dark .nav-item-active {
  background: rgba(77, 107, 254, 0.15) !important;
  color: #7995FE !important;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}
.animate-shake {
  animation: shake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* Quick Prompt Chips (DeepSeek Pill Style & Customizable) */
.chip-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.chip-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.32rem 0.8rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  transition: all 0.18s ease;
  white-space: nowrap;
  cursor: pointer;
}
.chip-item .chip-btn {
  padding-right: 1.55rem; /* 预留悬浮出现的小叉号空间 */
}
.chip-btn:hover {
  background: var(--bg-card-hover);
  border-color: var(--ds-blue);
  color: var(--ds-blue);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(77, 107, 254, 0.12);
}
.chip-delete-btn {
  position: absolute;
  right: 0.35rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.08);
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 5;
}
body.dark .chip-delete-btn {
  background: rgba(255, 255, 255, 0.12);
}
.chip-delete-btn:hover {
  background: #f43f5e !important;
  color: #ffffff !important;
  transform: translateY(-50%) scale(1.15);
}

/* DeepSeek Signature Suggestion Cards (Home Bento) */
.bento-action-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 1rem;
  padding: 1rem 1.15rem;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}
.bento-action-card:hover {
  border-color: var(--ds-blue);
  box-shadow: 0 6px 20px -4px rgba(77, 107, 254, 0.15);
  transform: translateY(-2px);
}

/* Tool execution status capsule */
.tool-capsule {
  border: 1px solid var(--border-subtle);
  background: var(--bg-card);
  border-radius: 0.85rem;
  margin-bottom: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: all 0.18s ease;
}
.tool-capsule:hover {
  border-color: var(--border-strong);
}
.tool-capsule-header {
  padding: 0.5rem 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  user-select: none;
  background: var(--bg-thinking);
}
.tool-capsule-body {
  padding: 0.65rem 0.85rem;
  border-top: 1px solid var(--border-subtle);
  background: #111318;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: #E2E8F0;
  max-height: 280px;
  overflow-y: auto;
}

/* Assistant Markdown Prose (大字号、通透行距) */
.prose-agent {
  font-size: 1.05rem; /* ~16.8px */
  line-height: 1.8;
  color: var(--text-main);
}
.prose-agent p {
  margin-top: 0.6rem;
  margin-bottom: 0.6rem;
}
.prose-agent h1, .prose-agent h2, .prose-agent h3, .prose-agent h4 {
  color: var(--text-main);
  font-weight: 700;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}
.prose-agent ul, .prose-agent ol {
  padding-left: 1.5rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.prose-agent li {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.prose-agent code:not(pre code) {
  font-family: var(--font-mono);
  background: rgba(77, 107, 254, 0.08);
  color: var(--ds-blue);
  padding: 0.2rem 0.4rem;
  border-radius: 0.35rem;
  font-size: 0.88em;
  border: 1px solid rgba(77, 107, 254, 0.18);
}
.prose-agent pre {
  margin-top: 0.85rem;
  margin-bottom: 0.85rem;
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.prose-agent pre code {
  font-family: var(--font-mono);
  font-size: 0.92rem;
  line-height: 1.65;
}

/* DeepSeek Thinking Box (DeepSeek-R1 CoT) */
.ds-thinking-box {
  background: var(--bg-thinking);
  border: 1px solid var(--border-subtle);
  border-radius: 0.85rem;
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  margin-bottom: 0.75rem;
  color: var(--text-muted);
}
.ds-thinking-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-weight: 600;
  user-select: none;
  color: var(--text-main);
  font-size: 0.85rem;
}
.ds-thinking-body {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-mono);
  font-size: 0.82rem;
  line-height: 1.65;
  white-space: pre-wrap;
  color: var(--text-muted);
}

/* User Message Bubble (Clean DeepSeek Pill - 大号字 16px) */
.user-msg-bubble {
  background: var(--bg-bubble-user);
  color: var(--text-main);
  border-radius: 1.25rem 1.25rem 0.25rem 1.25rem;
  padding: 0.75rem 1.15rem;
  max-width: 82%;
  font-size: 1.02rem; /* ~16.3px */
  line-height: 1.65;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

/* User Message Table Rendering */
.user-table-preview table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.88rem;
  margin: 0.35rem 0;
  border-radius: 0.5rem;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
}
.user-table-preview th {
  background: rgba(77, 107, 254, 0.12);
  color: var(--text-main);
  font-weight: 600;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--border-subtle);
  text-align: left;
}
.user-table-preview td {
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--border-subtle);
  color: var(--text-main);
}
.user-table-preview tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.02);
}
.dark .user-table-preview tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.03);
}

/* ============================================================ */
/* Global Font Size Scaling System (全界面字号多档位调节系统)   */
/* ============================================================ */

/* 默认微调：默认让小字号更饱满清晰 */
.text-\[10px\] { font-size: 11px; }
.text-\[11px\] { font-size: 12px; }

/* 档位 1: 舒适大号 (Comfortable Large 115%) - 适合日常清晰阅读 */
html[data-font-scale="115"] .text-\[10px\] { font-size: 11.5px !important; }
html[data-font-scale="115"] .text-\[11px\] { font-size: 13px !important; }
html[data-font-scale="115"] .text-xs { font-size: 14px !important; line-height: 1.6 !important; }
html[data-font-scale="115"] .text-sm { font-size: 15.5px !important; line-height: 1.65 !important; }
html[data-font-scale="115"] .text-base { font-size: 17.5px !important; }
html[data-font-scale="115"] #agentInput { font-size: 16.5px !important; line-height: 1.65 !important; }
html[data-font-scale="115"] #agentInput::placeholder { font-size: 15px !important; }
html[data-font-scale="115"] .user-msg-bubble { font-size: 15px !important; line-height: 1.65 !important; }
html[data-font-scale="115"] .message-content, html[data-font-scale="115"] .prose-agent { font-size: 15px !important; line-height: 1.75 !important; }
html[data-font-scale="115"] .nav-item { font-size: 13.5px !important; padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
html[data-font-scale="115"] .ds-thinking-box { font-size: 13px !important; }
html[data-font-scale="115"] .ds-thinking-body { font-size: 12.5px !important; }

/* 档位 2: 特大清晰 (Extra Large 130%) - 适合 2K/4K 高清大屏 */
html[data-font-scale="130"] .text-\[10px\] { font-size: 13px !important; }
html[data-font-scale="130"] .text-\[11px\] { font-size: 14.2px !important; }
html[data-font-scale="130"] .text-xs { font-size: 15.5px !important; line-height: 1.65 !important; }
html[data-font-scale="130"] .text-sm { font-size: 17px !important; line-height: 1.7 !important; }
html[data-font-scale="130"] .text-base { font-size: 19px !important; }
html[data-font-scale="130"] #agentInput { font-size: 18px !important; line-height: 1.75 !important; }
html[data-font-scale="130"] #agentInput::placeholder { font-size: 16.5px !important; }
html[data-font-scale="130"] .user-msg-bubble { font-size: 16.5px !important; line-height: 1.75 !important; }
html[data-font-scale="130"] .message-content, html[data-font-scale="130"] .prose-agent { font-size: 16.5px !important; line-height: 1.85 !important; }
html[data-font-scale="130"] .nav-item { font-size: 15px !important; padding-top: 0.65rem !important; padding-bottom: 0.65rem !important; }
html[data-font-scale="130"] .ds-thinking-box { font-size: 14px !important; }
html[data-font-scale="130"] .ds-thinking-body { font-size: 13.5px !important; }

/* 档位 3: 巨幕护眼 (Giant / High-DPI 145%) - 适合大显示器远距离视力友好 */
html[data-font-scale="145"] .text-\[10px\] { font-size: 14.5px !important; }
html[data-font-scale="145"] .text-\[11px\] { font-size: 15.8px !important; }
html[data-font-scale="145"] .text-xs { font-size: 17px !important; line-height: 1.7 !important; }
html[data-font-scale="145"] .text-sm { font-size: 18.5px !important; line-height: 1.75 !important; }
html[data-font-scale="145"] .text-base { font-size: 21px !important; }
html[data-font-scale="145"] #agentInput { font-size: 20px !important; line-height: 1.8 !important; }
html[data-font-scale="145"] #agentInput::placeholder { font-size: 18px !important; }
html[data-font-scale="145"] .user-msg-bubble { font-size: 18px !important; line-height: 1.8 !important; }
html[data-font-scale="145"] .message-content, html[data-font-scale="145"] .prose-agent { font-size: 18px !important; line-height: 1.95 !important; }
html[data-font-scale="145"] .nav-item { font-size: 16.5px !important; padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }
html[data-font-scale="145"] .ds-thinking-box { font-size: 15px !important; }
html[data-font-scale="145"] .ds-thinking-body { font-size: 14.5px !important; }

/* Dynamic Responsive Chat Layout Width (宽屏与全宽模式，消除两侧过多留白) */
.chat-container-width {
  width: 100%;
  max-width: 1360px; /* 默认宽屏大气布局，彻底消除两侧过多留白 */
  margin-left: auto;
  margin-right: auto;
  transition: max-width 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 铺满全宽模式 (适应超宽屏幕或多表格) */
body.layout-mode-full .chat-container-width {
  max-width: 96% !important;
}

/* 居中紧凑模式 */
body.layout-mode-compact .chat-container-width {
  max-width: 860px !important;
}

/* AI Chat UI Kit Message Action Bar */
.msg-action-bar {
  opacity: 0.85;
  transition: opacity 0.2s ease;
}
.group\/msg:hover .msg-action-bar {
  opacity: 1;
}
.msg-action-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.45rem;
  border-radius: 0.5rem;
  font-size: 0.7rem;
  color: var(--text-muted);
  transition: all 0.15s ease;
  user-select: none;
}
.msg-action-btn:hover {
  color: var(--text-main);
  background: var(--bg-sidebar-hover);
}
.msg-action-btn:active {
  transform: scale(0.96);
}

/* Quick Toggle Active State (DeepSeek Blue Active) */
.quick-toggle-active {
  background: var(--ds-blue-light) !important;
  border-color: var(--ds-blue) !important;
  color: var(--ds-blue) !important;
  box-shadow: 0 0 10px rgba(77, 107, 254, 0.25);
}

/* ============================================== */
/* PopClip Floating Action Bar (划词即处理) */
/* ============================================== */
#popclipBar {
  position: fixed !important;
  z-index: 99999 !important;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  background: rgba(29, 30, 32, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 9999px;
  box-shadow: 0 16px 36px -6px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(77, 107, 254, 0.35);
  transform: translateY(-4px);
  transition: opacity 0.15s ease, transform 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: auto;
}
#popclipBar.hidden {
  display: none !important;
}
.popclip-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  color: #F3F4F6;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  user-select: none;
}
.popclip-btn:hover {
  background: var(--ds-blue);
  color: #FFFFFF;
  box-shadow: 0 0 10px rgba(77, 107, 254, 0.5);
}
.popclip-btn:active {
  transform: scale(0.95);
}

/* ============================================== */
/* Spotlight Minimal Floating Capsule Mode */
/* ============================================== */
body.spotlight-mode {
  overflow: hidden;
}
body.spotlight-mode #appSidebar {
  display: none !important;
}
body.spotlight-mode header {
  display: none !important;
}
body.spotlight-mode #chatMessages {
  max-height: 48vh;
  margin-bottom: 12px;
}
body.spotlight-mode #appMain {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  padding: 24px;
}
body.spotlight-mode #view-chat {
  max-width: 720px !important;
  width: 100% !important;
  height: auto !important;
  max-height: 85vh !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 24px !important;
  box-shadow: 0 35px 80px -15px rgba(0, 0, 0, 0.4), 0 0 0 1px var(--ds-blue) !important;
  padding: 16px !important;
  overflow: hidden;
  animation: spotlightPop 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes spotlightPop {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(-10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* Sidebar Collapsed State */
#appSidebar.sidebar-collapsed {
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  border-right-width: 0;
}

/* Session Item */
.session-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.45rem 0.75rem;
  border-radius: 0.65rem;
  font-size: 0.75rem;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.session-item:hover {
  background: var(--bg-sidebar-hover);
  color: var(--text-main);
}
.session-item.active {
  background: var(--ds-blue-light);
  border-color: var(--ds-blue-border);
  color: var(--ds-blue);
  font-weight: 600;
}
body.theme-dark .session-item.active {
  background: rgba(77, 107, 254, 0.15);
  border-color: rgba(77, 107, 254, 0.35);
  color: #7995FE;
}
.session-item .delete-btn {
  opacity: 0;
  transition: opacity 0.15s ease;
}
.session-item:hover .delete-btn {
  opacity: 1;
}

/* Typing cursor */
.typing-cursor::after {
  content: '▋';
  color: var(--ds-blue);
  animation: blink 1s step-start infinite;
  margin-left: 2px;
}
@keyframes blink {
  50% { opacity: 0; }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
  animation: fadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Cursor-style Mention Menu Highlight */
.mention-item.active {
  background: rgba(77, 107, 254, 0.18) !important;
  border-color: rgba(77, 107, 254, 0.4) !important;
}

/* Perplexity-style Source Citation Badges & Cards */
.citation-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.25rem;
  border-radius: 9999px;
  background: rgba(77, 107, 254, 0.15);
  color: #7995FE;
  font-size: 0.65rem;
  font-weight: 700;
  margin: 0 0.15rem;
  vertical-align: super;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid rgba(77, 107, 254, 0.3);
  transition: all 0.15s ease;
}
.citation-badge:hover {
  background: #4D6BFE;
  color: #ffffff;
  transform: scale(1.1);
}

.citation-card {
  display: inline-flex;
  flex-direction: column;
  padding: 0.6rem 0.85rem;
  border-radius: 0.75rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  min-width: 170px;
  max-width: 220px;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}
.citation-card:hover {
  border-color: #4D6BFE;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(77, 107, 254, 0.15);
}

/* ChatGPT Canvas-style Diff Highlighting */
.diff-line {
  padding: 2px 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-all;
}
.diff-line-add {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border-left: 3px solid #10b981;
}
.diff-line-del {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border-left: 3px solid #ef4444;
}
.diff-line-ctx {
  color: #94a3b8;
  border-left: 3px solid transparent;
}

/* Claude Split Screen Artifacts Resizing and Scroll */
#artifactSplitPanel {
  transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* AI Generated Image & Rich Media Preview in Chat */
.message-content img,
.prose-agent img {
  max-width: 100%;
  max-height: 480px;
  border-radius: 1rem;
  border: 1px solid var(--border-subtle);
  margin: 0.75rem 0;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: block;
}
.message-content img:hover,
.prose-agent img:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 40px rgba(77, 107, 254, 0.35);
}

/* ============================================================ */
/* Chat Multi-Select Mode & Long Image Share Styles             */
/* ============================================================ */

/* Checkbox container on messages */
.msg-select-col {
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  cursor: pointer;
  padding: 4px;
}

.multi-select-mode .msg-select-col {
  display: flex !important;
}

.msg-checkbox-circle {
  width: 22px;
  height: 22px;
  border-radius: 9999px;
  border: 2px solid var(--border-subtle);
  background: var(--bg-card);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.msg-checkbox-circle:hover {
  border-color: #4D6BFE;
  transform: scale(1.1);
}

.msg-row-item {
  transition: all 0.2s ease;
  position: relative;
}

.multi-select-mode .msg-row-item {
  cursor: pointer;
}

.multi-select-mode .msg-row-item:hover .msg-checkbox-circle:not(.selected) {
  border-color: #4D6BFE;
}

/* When selected */
.msg-checkbox-circle.selected {
  background: #4D6BFE;
  border-color: #4D6BFE;
  box-shadow: 0 2px 10px rgba(77, 107, 254, 0.4);
}

.msg-checkbox-circle .check-icon {
  display: none;
  color: white;
  width: 14px;
  height: 14px;
  stroke-width: 3;
}

.msg-checkbox-circle.selected .check-icon {
  display: block;
}

.msg-row-item.msg-selected .glass-card,
.msg-row-item.msg-selected .user-msg-bubble {
  border-color: #4D6BFE !important;
  box-shadow: 0 0 0 2px rgba(77, 107, 254, 0.45), 0 8px 24px rgba(77, 107, 254, 0.12) !important;
}

/* Floating Multi-Select Share Dock */
.multi-select-dock {
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(77, 107, 254, 0.35);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 20px rgba(77, 107, 254, 0.2);
}

.dark .multi-select-dock {
  background: rgba(13, 17, 28, 0.92);
}

body:not(.dark) .multi-select-dock {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(77, 107, 254, 0.25);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12), 0 0 15px rgba(77, 107, 254, 0.1);
}

/* Share Card Rendering Target */
#shareCardSnapshotTarget {
  background: #ffffff;
  color: #1e293b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  box-shadow: 0 25px 60px rgba(0,0,0,0.25);
}

.dark #shareCardSnapshotTarget {
  background: #0f172a;
  color: #f1f5f9;
  border-color: rgba(255, 255, 255, 0.1);
}



