/** Promised Land - variables.css | Auto-split from style.css */
/* ============================================
   CSS 变量 · 按分区整理
   ============================================ */
    :root {
      /* —— 动效与布局 —— */
      --ease-out-expo: cubic-bezier(0.25, 0.46, 0.45, 0.94);
      --sidebar-w: 305px;
      --right-sidebar-offset: 0px;
      /* ★ 左边栏展开时聊天窗偏移量（0 或 270px，JS 控制） */
      --left-offset: 0px;

      /* —— 全局背景 —— */
      --color-body-bg: #FCFAF5;
      --color-body-scrollbar-thumb: rgba(114, 132, 188, 0.12);
      --color-body-scrollbar-thumb-hover: rgba(114, 132, 188, 0.25);
      /* —— 全局背景 · 径向渐变光晕 —— */
      --color-body-glow1: rgba(255, 255, 253, 0.95);
      --color-body-glow2: rgba(255, 255, 253, 0.4);
      --color-body-glow3: rgba(246, 244, 236, 0.18);
      --color-body-glow4: rgba(242, 240, 229, 0.26);
      --color-body-glow5: rgba(244, 242, 231, 0.38);
      --color-body-glow6: rgba(244, 242, 231, 0.14);
      --color-body-scrollbar-firefox: rgba(107, 119, 182, 0.15);

      /* —— 启动屏 —— */
      --color-splash-overlay-bg: rgba(255, 255, 255, 0.2);
      --color-splash-de: rgba(0, 47, 167, 0.15);
      --color-splash-de-shadow1: rgba(30, 45, 84, 0.2);
      --color-splash-de-shadow2: rgba(0, 47, 167, 0.10);
      --color-splash-de-shadow3: rgba(0, 47, 167, 0.06);
      --color-splash-zh: rgba(0, 47, 167, 0.45);
      --color-splash-zh-shadow1: rgba(30, 45, 84, 0.3);
      --color-splash-zh-shadow2: rgba(0, 47, 167, 0.18);
      --color-splash-zh-shadow3: rgba(0, 47, 167, 0.06);

      /* —— 面板一 · 深蓝 —— */
      --color-panel1-bg: #3240bd;
      --color-panel1-border: rgba(255, 255, 255, 0.18);
      --color-panel1-shadow: rgba(0, 0, 0, 0.18);
      --color-panel1-shadow-active: rgba(0, 0, 0, 0.32);
      --color-panel1-border-active: rgba(255, 255, 255, 0.12);
      --color-panel1-tab: #C8D4F0;
      --color-panel1-avatar-border: rgba(255, 255, 255, 0.25);
      --color-panel1-avatar-shadow: rgba(0, 0, 0, 0.15);
      --color-panel1-avatar-inner: rgba(255, 255, 255, 0.2);
      --color-panel1-avatar-hover-border: rgba(255, 255, 255, 0.5);
      --color-panel1-avatar-hover-shadow: rgba(0, 0, 0, 0.22);
      --color-panel1-avatar-hover-inner: rgba(255, 255, 255, 0.3);
      --color-panel1-avatar-placeholder-bg: rgba(255, 255, 255, 0.08);
      --color-panel1-avatar-placeholder-border: rgba(255, 255, 255, 0.18);
      --color-panel1-avatar-placeholder-hover-bg: rgba(255, 255, 255, 0.16);
      --color-panel1-avatar-placeholder-hover-border: rgba(255, 255, 255, 0.55);
      --color-panel1-name: #D8DDF0;
      --color-panel1-name-shadow: rgba(0, 0, 0, 0.25);
      --color-panel1-name-focus-border: rgba(255, 255, 255, 0.4);
      --color-panel1-whisper: rgba(255, 255, 255, 0.3);
      --color-panel1-whisper-hover: rgba(255, 255, 255, 0.85);
      --color-panel1-conv-text: rgba(220, 225, 245, 0.75);
      --color-panel1-conv-hover: #fffffff7;
      --color-panel1-conv-active: rgba(255, 255, 255, 0.85);
      --color-panel1-conv-empty: rgba(200, 210, 240, 0.35);
      --color-panel1-conv-delete-hover: rgba(255, 200, 200, 0.85);
      --color-panel1-bottom-btn: rgba(200, 210, 240, 0.45);
      --color-panel1-bottom-btn-hover: rgba(255, 255, 255, 0.8);
      --color-panel1-bottom-btn-active: rgba(255, 255, 255, 0.9);
      --color-panel1-search-icon: rgba(200, 210, 240, 0.45);
      --color-panel1-search-icon-hover: rgba(255, 255, 255, 0.8);
      --color-panel1-search-icon-open: rgba(200, 210, 240, 0.55);
      --color-panel1-search-bg: rgba(255, 255, 255, 0.06);
      --color-panel1-search-border: rgba(255, 255, 255, 0.12);
      --color-panel1-search-input: #D8DDF0;
      --color-panel1-search-placeholder: rgba(200, 210, 240, 0.35);
      --color-panel1-expand-btn: rgba(200, 210, 240, 0.5);
      --color-panel1-expand-btn-hover: rgba(255, 255, 255, 0.8);

      /* —— 面板二 · 暖白/焦糖褐 —— */
      --color-panel2-bg: #F9F5F6;
      --color-panel2-bg-active: #FCF9F7;
      --color-panel2-grid: rgba(180, 170, 140, 0.025);
      --color-panel2-grid-90: rgba(180, 170, 140, 0.018);
      --color-panel2-border: rgba(180, 170, 150, 0.18);
      --color-panel2-shadow: rgba(0, 0, 0, 0.22);
      --color-panel2-shadow-hover: rgba(0, 0, 0, 0.18);
      --color-panel2-tab: #8A8E98;

      /* 面板二 · 焦糖色系 */
      --color-caramel: rgba(139, 111, 71, 0.20);
      --color-caramel-light: rgba(139, 111, 71, 0.38);
      --color-caramel-medium: rgba(139, 111, 71, 0.50);
      --color-caramel-strong: rgba(139, 111, 71, 0.55);
      --color-caramel-dark: rgba(100, 70, 35, 0.82);
      --color-caramel-text: rgba(110, 90, 70, 0.72);
      --color-caramel-text-dark: rgba(90, 70, 50, 0.85);
      --color-caramel-text-focus: rgba(110, 90, 70, 0.55);
      --color-caramel-memo: rgba(139, 111, 71, 0.38);
      --color-caramel-memo-placeholder: rgba(139, 111, 71, 0.20);
      --color-caramel-memo-focus: rgba(110, 90, 70, 0.55);
      --color-caramel-label: rgba(120, 100, 75, 0.42);
      --color-caramel-label-dark: rgba(120, 100, 75, 0.48);
      --color-caramel-value: rgba(100, 70, 35, 0.82);
      --color-caramel-handle: #8B6F47;
      --color-caramel-handle-disabled: rgba(139, 111, 71, 0.22);
      --color-caramel-track: rgba(139, 111, 71, 0.20);
      --color-caramel-fill: rgba(139, 111, 71, 0.50);

      /* 面板二 · 选择框 */
      --color-panel2-select-border: rgba(139, 111, 71, 0.20);
      --color-panel2-select-border-focus: rgba(139, 111, 71, 0.50);
      --color-panel2-select-bg: rgba(255, 255, 255, 0.35);
      --color-panel2-select-text: rgba(100, 80, 55, 0.72);

      /* 面板二 · 头像 */
      --color-panel2-avatar-border: rgba(160, 125, 80, 0.7);
      --color-panel2-avatar-bg: rgba(160, 125, 80, 0.65);
      --color-panel2-avatar-shadow: rgba(139, 111, 71, 0.30);
      --color-panel2-avatar-shadow-sharp: rgba(0, 0, 0, 0.12);
      --color-panel2-avatar-hover-border: rgba(139, 111, 71, 0.55);
      --color-panel2-avatar-hover-shadow: rgba(139, 111, 71, 0.40);
      --color-panel2-avatar-hover-shadow-sharp: rgba(0, 0, 0, 0.14);
      --color-panel2-avatar-placeholder-bg: #ebe3d426;
      --color-panel2-avatar-placeholder-shadow: rgba(0, 0, 0, 0.06);
      --color-panel2-avatar-placeholder-hover-shadow: rgba(0, 0, 0, 0.10);

      /* 面板二 · 三态开关 */
      --color-seg-border-top: rgba(139, 111, 71, 0.75);
      --color-seg-border-mid: rgba(139, 111, 71, 0.38);
      --color-seg-option: rgba(139, 111, 71, 0.40);
      --color-seg-option-active: rgba(100, 70, 35, 0.99);
      --color-seg-divider: rgba(139, 111, 71, 0.2);
      --color-seg-knob-bg: rgba(255, 255, 255, 0.49);
      --color-seg-knob-border: rgba(255, 255, 255, 0.75);
      --color-seg-knob-shadow: rgba(0, 0, 0, 0.13);

      /* 面板二 · 二档开关 */
      --color-toggle-track-off: #dfd8d0;
      --color-toggle-track-on: rgb(200, 162, 144);
      --color-toggle-knob-on: rgb(200, 162, 144);
      --color-toggle-knob-off: #dfd8d0;
      --color-toggle-shadow: rgba(0, 0, 0, 0.08);
      --color-toggle-name: rgba(147, 132, 119, 0.65);

      /* 面板二 · 底部操作按钮 */
      --color-panel2-action-border: rgba(139, 111, 71, 0.25);
      --color-panel2-action-text: rgba(120, 100, 75, 0.55);
      --color-panel2-action-hover-bg: rgba(139, 111, 71, 0.06);
      --color-panel2-action-hover-border: rgba(139, 111, 71, 0.40);
      --color-panel2-action-hover-text: rgba(120, 100, 75, 0.72);
      --color-panel2-action-delete-border: rgba(180, 100, 100, 0.30);
      --color-panel2-action-delete-text: rgba(180, 100, 100, 0.60);
      --color-panel2-action-delete-hover-bg: rgba(144, 61, 61, 0.06);
      --color-panel2-action-delete-hover-border: rgba(180, 90, 90, 0.55);
      --color-panel2-action-delete-hover-text: rgba(190, 80, 80, 0.85);

      /* 面板二 · 背景图 */
      --color-panel2-bg-thumb-border: rgba(139, 111, 71, 0.22);
      --color-panel2-bg-thumb-hover-border: rgba(139, 111, 71, 0.45);
      --color-panel2-bg-remove-text: rgba(180, 100, 100, 0.38);
      --color-panel2-bg-remove-hover-text: rgba(190, 80, 80, 0.72);

      /* —— 面板三 · 深蓝紫 —— */
      --color-panel3-bg: #757CB1;
      --color-panel3-shadow: rgba(0, 0, 0, 0.18);
      --color-panel3-tab: #D8DBF0;
      --color-panel3-section-title: rgba(240, 225, 230, 0.99);
      --color-panel3-section-title-glow: rgba(232, 201, 160, 0.5);
      --color-panel3-line: rgba(245, 230, 220, 0.55);
      --color-panel3-display: rgba(234, 225, 245, 0.72);
      --color-panel3-display-hover: rgba(234, 225, 245, 0.9);
      --color-panel3-display-hover-glow: rgba(200, 210, 245, 0.25);
      --color-panel3-display-hover-bg: rgba(255, 255, 255, 0.03);
      --color-panel3-display-hidden: rgba(234, 225, 245, 0.32);
      --color-panel3-display-revealed: rgba(234, 225, 245, 0.8);
      --color-panel3-entry-title: rgba(234, 225, 245, 0.85);
      --color-panel3-entry-dot: rgba(234, 225, 245, 0.55);
      --color-panel3-entry-hover-bg: rgba(255, 255, 255, 0.06);
      --color-panel3-entry-hover-border: rgba(255, 255, 255, 0.08);
      --color-panel3-entry-drag-over-border: rgba(255, 255, 255, 0.25);
      --color-panel3-entry-drag-over-bg: rgba(255, 255, 255, 0.08);
      --color-panel3-add-btn: rgba(245, 230, 220, 0.35);
      --color-panel3-add-btn-hover: rgba(245, 230, 220, 0.8);
      --color-panel3-add-btn-glow: rgba(200, 210, 245, 0.3);

      /* —— 卡纸弹窗 · 长春花色 —— */
      --color-card-overlay-bg: rgba(77, 57, 57, 0.12);
      --color-card-bg: #8492C0;
      --color-card-title: #E6DCF0;
      --color-card-title-shadow: rgba(0, 0, 0, 0.15);
      --color-card-content: rgba(249, 240, 250, 0.95);
      --color-card-content-placeholder: rgba(240, 230, 245, 0.3);
      --color-card-shadow: rgba(0, 0, 0, 0.18);
      --color-card-shadow-light: rgba(0, 0, 0, 0.08);
      --color-card-reveal-btn: #757CB1;
      --color-card-reveal-btn-hover: rgba(184, 188, 223, 0.99);

      /* —— 燕尾标签按钮 —— */
      --color-tag-bg: #8492C0;
      --color-tag-text: rgba(234, 225, 245, 0.96);
      --color-tag-border: rgba(255, 255, 255, 0.10);
      --color-tag-shadow: rgba(0, 0, 0, 0.28);
      --color-tag-shadow-light: rgba(0, 0, 0, 0.28);
      --color-tag-inner-line: rgba(255, 255, 255, 0.28);
      --color-tag-hover-shadow: rgba(0, 0, 0, 0.16);
      --color-tag-hover-inner: rgba(255, 255, 255, 0.12);
      --color-tag-primary-bg: #969FD0;
      --color-tag-primary-text: rgba(248, 242, 252, 0.96);
      --color-tag-danger-bg: #996e68;
      --color-tag-danger-text: rgba(250, 230, 230, 0.96);
      --color-tag-danger-hover-shadow: rgba(160, 80, 80, 0.2);
      --color-tag-secondary-bg: rgba(132, 146, 192, 0.88);
      --color-tag-secondary-text: rgba(234, 225, 245, 0.88);
      --color-tag-secondary-hover-text: rgba(234, 225, 245, 0.96);
      --color-tag-role-bg: rgba(193, 170, 139, 0.88);
      --color-tag-role-text: rgba(248, 246, 240, 0.6);
      --color-tag-role-hover-bg: rgba(193, 170, 139, 0.98);
      --color-tag-role-hover-text: rgba(248, 246, 240, 0.9);
      --color-tag-entry-dot: #D0C8E8;
      --color-tag-entry-dot-shadow: rgba(0, 0, 0, 0.15);
      --color-tag-entry-dot-inner: rgba(255, 255, 255, 0.3);
      --color-tag-entry-title: #E6DCF0;
      --color-tag-entry-title-placeholder: rgba(240, 230, 245, 0.3);

      /* —— 关键词标签 —— */
      --color-kw-input-bg: rgba(0, 0, 0, 0.15);
      --color-kw-input-border: rgba(255, 255, 255, 0.06);
      --color-kw-input-border-focus: rgba(255, 255, 255, 0.25);
      --color-kw-input-text: rgba(248, 245, 255, 0.9);
      --color-kw-input-placeholder: rgba(248, 245, 255, 0.75);
      --color-kw-add-border: rgba(255, 255, 255, 0.12);
      --color-kw-add-bg: #8492C0;
      --color-kw-add-text: rgba(255, 255, 255, 0.75);
      --color-kw-add-shadow: rgba(0, 0, 0, 0.12);
      --color-kw-add-hover-shadow: rgba(0, 0, 0, 0.18);
      --color-kw-tag-bg: rgba(0, 0, 0, 0.15);
      --color-kw-tag-border: rgba(255, 255, 255, 0.10);
      --color-kw-tag-text: rgba(248, 245, 255, 0.9);
      --color-kw-tag-del: rgba(255, 255, 255, 0.35);
      --color-kw-tag-del-hover: rgba(255, 200, 200, 0.8);

      /* —— 聊天窗 —— */
      --color-chat-title: #7284bc;
      --color-chat-title-line-start: #002FA7;
      --color-chat-title-line-mid: #001fa7;
      --color-chat-title-line-warm: #f2dbb6;
      --color-chat-title-line-end: #7284bc;
      --color-chat-subtitle: #788ECD;
      --color-chat-empty: rgba(117, 124, 177, 0.25);

      /* —— 导航条 —— */
      --color-nav-block: rgba(229, 214, 193, 0.2);
      --color-nav-block-hover: rgba(220, 195, 160, 0.5);
      --color-nav-block-active: rgba(0, 47, 255, 0.2);
      --color-nav-block-active-shadow: rgba(242, 236, 227, 0.5);
      --color-nav-block-active-glow: rgba(80, 120, 220, 0.25);
      --color-nav-tooltip-bg: rgba(255, 248, 240, 0.75);
      --color-nav-tooltip-text: rgba(60, 50, 40, 0.75);
      --color-nav-tooltip-shadow: rgba(0, 0, 0, 0.06);
      --color-nav-tooltip-border: rgba(210, 195, 175, 0.25);
      --color-nav-highlight: rgba(221, 190, 128, 0.6);

      /* —— 消息 · 助手 —— */
      --color-msg-assistant-text: #2A3A5A;
      --color-msg-assistant-heading: #002FA7;
      --color-msg-assistant-strong: #1C2A4A;
      --color-msg-assistant-em: #3D55CB;
      --color-msg-assistant-code: #354AB1;
      --color-msg-assistant-code-bg: rgba(114, 132, 188, 0.08);
      --color-msg-assistant-blockquote-border: rgba(114, 132, 188, 0.3);
      --color-msg-assistant-blockquote: rgba(42, 58, 90, 0.7);
      --color-msg-assistant-hr: rgba(114, 132, 188, 0.2);
      --color-msg-assistant-th-bg: rgba(114, 132, 188, 0.06);
      --color-msg-assistant-th-text: #7284bc;
      --color-msg-assistant-th-border: rgba(83, 104, 211, 0.2);
      --color-msg-assistant-td-border: rgba(114, 132, 188, 0.08);
      --color-msg-assistant-tr-hover: rgba(114, 132, 188, 0.03);

      /* —— 消息 · 用户 —— */
      --color-msg-user-bg: rgba(255, 255, 255, 0.3);
      --color-msg-user-border: rgba(200, 170, 120, 0.15);
      --color-msg-user-text: #4A3A2A;
      --color-msg-user-shadow: rgba(0, 0, 0, 0.02);
      --color-msg-user-shadow-line: rgba(200, 170, 120, 0.10);
      --color-msg-user-code: #6A5A3A;
      --color-msg-user-code-bg: rgba(180, 160, 130, 0.15);
      --color-msg-user-strong: #3A2A1A;
      --color-msg-user-em: #6A4A2A;
      --color-msg-user-th-bg: rgba(180, 150, 120, 0.1);
      --color-msg-user-th-text: #6A5A3A;
      --color-msg-user-th-border: rgba(180, 150, 120, 0.2);
      --color-msg-user-td-border: rgba(180, 150, 120, 0.1);
      --color-msg-user-tr-hover: rgba(180, 150, 120, 0.04);

      /* —— 消息 · 头像 —— */
      --color-msg-avatar-assistant-bg: #d0dbe0;
      --color-msg-avatar-user-bg: #f0e8d7;
      --color-msg-avatar-shadow: rgba(139, 111, 71, 0.4);
      --color-msg-avatar-shadow-line: rgba(200, 180, 160, 0.10);
      --color-msg-agent-name: rgba(0, 47, 167, 0.6);
      --color-msg-agent-name-shadow: rgba(255, 255, 255, 0.45);
      --color-msg-user-name: rgba(144, 60, 29, 0.72);
      --color-msg-user-name-shadow: rgba(135, 50, 18, 0.08);

      /* —— 消息 · 助手玻璃气泡 —— */
      --color-msg-assistant-glass-bg: rgba(210, 222, 240, 0.15);
      --color-msg-assistant-glass-border: rgba(180, 198, 225, 0.25);
      --color-msg-assistant-glass-shadow: rgba(0, 0, 0, 0.04);
      --color-msg-assistant-glass-shadow-line: rgba(190, 208, 230, 0.15);
      --color-msg-assistant-glass-text: #2A3A5A;

      /* —— 思考链 —— */
      --color-thinking-bg: rgba(205, 212, 230, 0.12);
      --color-thinking-border: rgba(200, 215, 240, 0.35);
      --color-thinking-shadow: rgba(0, 0, 0, 0.04);
      --color-thinking-shadow-inner: rgba(255, 255, 255, 0.12);
      --color-thinking-pulse-bg: rgba(8, 12, 225, 0.2);
      --color-thinking-pulse-fg: rgba(0, 47, 255, 0.5);
      --color-thinking-pulse-complete: rgba(11, 33, 227, 0.35);
      --color-thinking-pulse-complete-glow1: rgba(92, 116, 212, 0.12);
      --color-thinking-pulse-complete-glow2: rgba(92, 116, 212, 0.06);
      --color-thinking-time: rgba(0, 47, 167, 0.8);
      --color-thinking-content: rgba(13, 48, 122, 0.6);
      --color-thinking-content-line-start: #aab7dc;
      --color-thinking-content-line-mid: #7e8fd4;
      --color-thinking-content-line-end: #c5d0ef;
      --color-thinking-dot: rgba(92, 116, 212, 0.733);
      --color-thinking-dot-glow: rgba(92, 116, 212, 0.15);

      /* —— 代码框 · 助手 —— */
      --code-bg: rgba(127, 144, 193, 0.06);
      --code-border: rgba(114, 132, 188, 0.18);
      --code-header-bg: rgba(114, 132, 188, 0.06);
      --code-text: #2A3A5A;
      --code-lang: rgba(114, 132, 188, 0.4);
      --code-btn: rgba(114, 132, 188, 0.3);
      --code-btn-hover: rgba(114, 132, 188, 0.55);
      --code-btn-hover-bg: rgba(114, 132, 188, 0.06);
      --code-scrollbar-thumb: rgba(114, 132, 188, 0.08);
      --code-scrollbar-track: rgba(114, 132, 188, 0.1);
      --code-shadow: rgba(0, 0, 0, 0.03);

      /* —— 代码框 · 用户 —— */
      --code-bg-user: rgba(180, 160, 130, 0.06);
      --code-border-user: rgba(180, 150, 120, 0.12);
      --code-header-bg-user: rgba(180, 160, 130, 0.03);
      --code-text-user: #4A3A2A;
      --code-lang-user: rgba(120, 100, 70, 0.4);
      --code-btn-user: rgba(120, 100, 70, 0.3);
      --code-btn-hover-user: rgba(120, 100, 70, 0.5);
      --code-btn-hover-bg-user: rgba(180, 150, 120, 0.08);
      --code-scrollbar-thumb-user: rgba(180, 150, 120, 0.1);

      /* —— 输入区 —— */
      --color-input-wrap-bg: rgba(250, 245, 235, 0.25);
      --color-input-wrap-border: rgba(180, 170, 150, 0.26);
      --color-input-wrap-shadow: rgba(0, 0, 0, 0.06);
      --color-input-wrap-shadow-inner: rgba(255, 255, 255, 0.6);
      --color-input-wrap-focus-inner: rgba(255, 255, 255, 0.6);
      --color-input-wrap-focus-border: rgba(77, 107, 254, 0.3);
      --color-input-wrap-focus-shadow: rgba(76, 93, 179, 0.09);
      --color-input-textarea: rgba(75, 58, 41, 0.9);
      --color-input-textarea-shadow: rgba(255, 255, 255, 0.25);
      --color-input-textarea-placeholder: rgba(150, 150, 165, 0.4);
      --color-input-tool-btn: rgba(81, 98, 185, 0.55);
      --color-input-tool-btn-hover-bg: rgba(81, 98, 185, 0.05);
      --color-input-tool-btn-hover: rgba(91, 118, 242, 0.75);
      --color-input-whale-opacity: 0.65;
      --color-input-whale-hover-opacity: 0.95;
      --color-input-whale-hover-glow1: rgba(114, 132, 188, 0.45);
      --color-input-whale-hover-glow2: rgba(114, 132, 188, 0.15);
      --color-input-expand: rgba(150, 150, 165, 0.02);
      --color-input-expand-hover: rgba(114, 132, 188, 0.45);
      --color-input-send: rgba(91, 118, 242, 0.55);
      --color-input-send-hover: rgba(91, 118, 242, 0.75);
      --color-input-send-hover-glow: rgba(48, 73, 240, 0.32);

      /* —— 右边栏 · 全局 —— */
      --color-rs-bg: #FFFDF7;
      --color-rs-border: rgba(182, 166, 150, 0.16);
      --color-rs-shadow: rgba(120, 100, 80, 0.08);
      --color-rs-shadow-inner: rgba(159, 146, 133, 0.04);
      --color-rs-glow1: rgba(160, 125, 80, 0.08);
      --color-rs-glow2: rgba(140, 110, 70, 0.03);
      --color-rs-glow3: rgba(140, 110, 70, 0.05);

      /* —— 右边栏 · 深蓝文字系 —— */
      --color-rs-text: rgba(18, 10, 143, 0.49);
      --color-rs-text-hover: rgba(18, 10, 143, 0.59);
      --color-rs-text-shadow1: rgba(18, 10, 143, 0.12);
      --color-rs-text-shadow2: rgba(18, 10, 143, 0.08);
      --color-rs-divider: #dbd9e9;
      --color-rs-input-border: rgba(18, 10, 143, 0.22);
      --color-rs-input-border-focus: rgba(160, 125, 80, 0.55);
      --color-rs-input-text: rgba(18, 10, 143, 0.49);
      --color-rs-input-caret: rgba(209, 161, 98, 0.6);
      --color-rs-input-placeholder: rgba(224, 202, 174, 0.35);
      --color-rs-eye: rgba(224, 202, 174, 0.65);
      --color-rs-eye-hover: rgba(224, 202, 174, 0.75);
      --color-rs-placeholder-text: rgba(18, 10, 143, 0.39);
      --color-rs-placeholder-icon: rgba(160, 125, 80, 0.45);

      /* —— 右边栏 · 头像 —— */
      --color-rs-avatar-bg: rgba(77, 78, 81, 0.02);
      --color-rs-avatar-border: rgba(99, 99, 199, 0.2);
      --color-rs-avatar-shadow-inner: rgba(0, 0, 0, 0.02);
      --color-rs-avatar-shadow: rgba(160, 125, 80, 0.06);
      --color-rs-avatar-hover-bg: rgb(255, 255, 255);
      --color-rs-avatar-hover-border: rgba(99, 99, 199, 0.3);
      --color-rs-avatar-hover-shadow-inner: rgba(0, 0, 0, 0.1);
      --color-rs-avatar-hover-shadow: rgba(160, 125, 80, 0.1);

      /* —— 右边栏 · 窄条图标 —— */
      --color-rs-icon: rgba(100, 100, 200, 0.59);
      --color-rs-icon-hover: rgb(238, 229, 245);
      --color-rs-restore-hover: rgba(100, 100, 200, 0.39);
      --color-rs-restore-hover-glow: rgba(100, 100, 200, 0.49);

      /* —— 右边栏 · HTTP日志 —— */
      --color-rs-http-row-border: rgba(18, 10, 143, 0.12);
      --color-rs-http-row-hover: rgba(18, 10, 143, 0.04);
      --color-rs-http-main: rgba(18, 10, 143, 0.49);
      --color-rs-http-summary: rgba(18, 10, 143, 0.4);
      --color-rs-http-empty: rgba(18, 10, 143, 0.3);
      --color-rs-http-btn-border: rgba(18, 10, 143, 0.2);
      --color-rs-http-btn-hover-bg: rgba(18, 10, 143, 0.05);
      --color-rs-http-btn-hover-text: rgba(18, 10, 143, 0.59);

      /* —— 右边栏 · 虚线分区 —— */
      --color-rs-section-dash: rgba(18, 10, 143, 0.22);

      /* —— 右边栏 · 用户显示设置横杆滑块 —— */
      --color-rs-slider-label: rgba(0, 47, 167, 0.28);
      --color-rs-slider-value: rgba(0, 47, 167, 0.32);
      --color-rs-slider-track: rgba(0, 47, 167, 0.06);
      --color-rs-slider-fill: rgba(0, 47, 167, 0.20);
      --color-rs-slider-handle: rgba(0, 47, 167, 0.35);

      /* —— 右边栏 · 用户显示设置二档开关 —— */
      --color-rs-toggle-track-off: #dfd8d0;
      --color-rs-toggle-track-on: rgba(0, 47, 167, 0.55);
      --color-rs-toggle-knob-on: rgba(0, 47, 167, 0.55);
      --color-rs-toggle-knob-off: #dfd8d0;
      --color-rs-toggle-shadow: rgba(0, 0, 0, 0.08);
      --color-rs-toggle-name: rgba(147, 132, 119, 0.65);

      /* —— 昼夜切换 · 群青色系（默认主题 ultramarine）—— */
      --color-dn-icon: rgba(50, 64, 189, 0.38);
      --color-dn-icon-active: rgba(50, 64, 189, 0.72);
      --color-dn-icon-active-dark: rgba(210, 210, 240, 0.78);
      --color-dn-track-bg: #dcd8ed;
      --color-dn-track-bg-dark: #2d2a38;
      --color-dn-knob: #9088b8;
      --color-dn-knob-dark: #6a6088;
      --color-dn-divider-line: rgba(100, 100, 180, 0.18);
      --color-dn-divider-line-dark: rgba(200, 190, 210, 0.15);

      /* —— 模型切换弹窗 —— */
      --color-model-overlay-bg: rgba(40, 35, 50, 0.08);
      --color-model-panel-bg: rgba(254, 253, 246, 0.8);
      --color-model-panel-shadow: rgba(0, 0, 0, 0.10);
      --color-model-panel-border: rgba(255, 255, 255, 0.55);
      --color-model-title: #7284BC;
      --color-model-option-name: #7284bc;
      --color-model-option-name-selected: #5B6DB8;
      --color-model-option-desc: rgba(110, 100, 85, 0.38);
      --color-model-option-desc-selected: rgba(100, 90, 75, 0.48);
      --color-model-option-hover-bg: rgba(192, 206, 222, 0.07);
      --color-model-option-divider: rgba(180, 170, 150, 0.12);
      --color-model-option-top-border: rgba(180, 170, 150, 0.16);
      --color-model-indicator: rgba(114, 132, 188, 0.32);
      --color-model-btn-text: rgba(110, 100, 90, 0.48);
      --color-model-btn-border: rgba(180, 170, 150, 0.22);
      --color-model-btn-hover-bg: rgba(180, 160, 140, 0.04);
      --color-model-btn-hover-border: rgba(180, 170, 150, 0.35);
      --color-model-btn-hover-text: rgba(90, 80, 70, 0.58);
      --color-model-btn-confirm-text: rgba(91, 109, 184, 0.78);
      --color-model-btn-confirm-border: rgba(114, 132, 188, 0.22);
      --color-model-btn-confirm-hover-bg: rgba(114, 132, 188, 0.08);
      --color-model-btn-confirm-hover-border: rgba(114, 132, 188, 0.35);
      --color-model-btn-confirm-hover-text: #4B5DB5;

      /* —— 模型弹窗 · 输入框 —— */
      --color-model-input-bg: rgba(255, 255, 255, 0.6);
      --color-model-input-border: rgba(180, 170, 150, 0.3);
      --color-model-input-border-focus: rgba(114, 132, 188, 0.35);
      --color-model-input-text: #3a3a3a;

      /* —— 通用设置组件（面板二右侧栏复用）—— */
      --color-setting-input-bg: rgba(255, 255, 255, 0.6);
      --color-setting-input-border: rgba(180, 170, 150, 0.3);
      --color-setting-input-border-focus: rgba(114, 132, 188, 0.35);
      --color-setting-input-text: #3A3A4A;
      --color-setting-input-placeholder: rgba(150, 150, 165, 0.4);
      --color-setting-eye: rgba(150, 150, 165, 0.4);
      --color-setting-eye-hover: rgba(114, 132, 188, 0.5);
      --color-setting-label: rgba(61, 85, 203, 0.65);
      --color-setting-select-border: rgba(180, 170, 150, 0.3);
      --color-setting-select-bg: rgba(255, 255, 255, 0.6);
      --color-setting-select-text: #3a3a3a;
      --color-setting-select-border-focus: rgba(114, 132, 188, 0.35);

      /* —— 消息底栏 —— */
      --color-msg-action: rgba(50, 64, 189, 0.35);
      --color-msg-action-hover: rgba(205, 210, 255, 0.9);
      --color-msg-action-hover-glow: rgba(210, 195, 170, 0.5);
      --color-msg-action-delete: rgba(210, 140, 140, 0.6);
      --color-msg-action-delete-hover: rgba(207, 147, 131, 0.75);
      --color-msg-action-delete-hover-glow: rgba(240, 150, 150, 0.5);

      /* —— 消息更多浮窗 —— */
      --color-msg-more-bg: #FFFDF7;
      --color-msg-more-border: rgba(251, 223, 164, 0.15);
      --color-msg-more-shadow: rgba(0, 0, 0, 0.05);
      --color-msg-more-item: rgba(50, 64, 189, 0.35);
      --color-msg-more-item-hover: rgba(205, 210, 255, 0.9);
      --color-msg-more-delete: rgba(200, 140, 140, 0.6);
      --color-msg-more-delete-hover: rgba(207, 147, 131, 0.75);

      /* —— 消息版本导航 —— */
      --color-msg-version-text: #9eadd9;
      --color-msg-version-btn: rgba(50, 64, 189, 0.35);
      --color-msg-version-btn-hover: rgba(205, 210, 255, 0.9);
      --color-msg-version-indicator: rgba(158, 173, 217, 0.72);

      /* —— 注入管理弹窗 —— */
      --color-inject-title: #7284bc;
      --color-inject-entry-border: rgba(180, 170, 150, 0.1);
      --color-inject-entry-summary: rgba(60, 50, 40, 0.75);
      --color-inject-entry-role: rgba(160, 125, 80, 0.55);

      /* —— 显示设置标签 —— */
      --color-section-label-appearance: rgba(91, 109, 184, 0.65);

      /* —— 文件上传预览 —— */
      --color-file-tag-bg: rgba(50, 64, 189, 0.06);
      --color-file-tag-border: rgba(50, 64, 189, 0.12);
      --color-file-tag-text: rgba(50, 64, 189, 0.7);
      --color-file-tag-del: rgba(200, 140, 140, 0.5);
      --color-file-tag-del-hover: rgba(240, 130, 130, 0.9);

      /* —— 聊天标题操作按钮 —— */
      --color-chat-title-btn: rgba(114, 132, 188, 0.4);
      --color-chat-title-btn-hover: rgba(114, 132, 188, 0.9);
      --color-chat-title-btn-hover-glow: rgba(100, 100, 200, 0.4);
      --color-chat-title-pinned: rgba(235, 221, 204, 0.764);
      --color-chat-title-pinned-hover: rgba(235, 214, 174, 0.92);
      /* 置顶按钮静息态独立色 */
      --color-chat-title-pin-rest: rgba(235, 221, 204, 0.764);

      /* —— 上下文统计条 —— */
      --color-msg-token-stats-text: rgba(0, 47, 167, 0.55);
      --color-msg-token-stats-icon: rgba(0, 47, 167, 0.5);

      /* —— HTTP日志弹窗 —— */
      --color-http-log-title: #7284BC;
      --color-http-log-back-btn: rgba(114, 132, 188, 0.6);
      --color-http-log-close-btn: rgba(180, 160, 140, 0.5);
      /* —— HTTP日志弹窗 · 详情内容 —— */
      --color-http-log-detail-text: rgba(50, 64, 189, 0.8);
      --color-http-log-block-bg: rgba(210, 215, 240, 0.12);
      --color-http-log-pre-bg: rgba(210, 215, 240, 0.08);
      --color-http-log-btn-border: rgba(114, 132, 188, 0.3);
      --color-http-log-btn-text: rgba(50, 64, 189, 0.55);
      --color-http-log-empty: rgba(160, 125, 80, 0.3);
      --color-http-log-row-text: rgba(50, 64, 189, 0.7);
      --color-http-log-row-summary: rgba(160, 125, 80, 0.45);
      --color-http-log-row-divider: rgba(100, 100, 200, 0.1);
      /* 注入管理 · 暂无条目 */
      --color-inject-empty: rgba(210, 215, 235, 0.3);
    }

    *,
    *::before,
    *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    /* 移动端/PWA 手势硬化：点按不闪灰块、下拉不触发刷新、无双击缩放延迟 */
    html {
      -webkit-tap-highlight-color: transparent;
      overscroll-behavior: none;
      touch-action: manipulation;
    }

    body {
      background:
        radial-gradient(ellipse at 295px 0px, var(--color-body-glow1) 0%, var(--color-body-glow2) 12%, transparent 35%),
        radial-gradient(ellipse at 100% 0%, var(--color-body-glow3) 0%, transparent 38%),
        radial-gradient(ellipse at 0% 100%, var(--color-body-glow4) 0%, transparent 40%),
        radial-gradient(ellipse at 82% 90%, var(--color-body-glow5) 0%, var(--color-body-glow6) 22%, transparent 48%),
        url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E"),
        var(--color-body-bg);
      min-height: 100vh;
      min-height: 100dvh;
      font-family: 'Inter', -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
      font-weight: 300;
      -webkit-font-smoothing: antialiased;
      overflow: hidden;
      scrollbar-width: thin;
      scrollbar-color: var(--color-body-scrollbar-firefox) transparent;
    }

    body::-webkit-scrollbar {
      width: 4px;
    }

    body::-webkit-scrollbar-track {
      background: transparent;
    }

    body::-webkit-scrollbar-thumb {
      background: var(--color-body-scrollbar-thumb);
      border-radius: 10px;
    }

    body::-webkit-scrollbar-thumb:hover {
      background: var(--color-body-scrollbar-thumb-hover);
    }