/* ComfyTavern 核心主题 CSS 变量定义 */
/* 这些是基础回退值，会被 themeStore 动态应用的主题覆盖 */

:root {
  /* 默认亮色主题变量 - HSL 通道 */
  --ct-primary-hsl: 211 100% 50%; /* 关键操作、高亮元素 */
  --ct-secondary-hsl: 208 7% 46%; /* 辅助元素、次级按钮 */
  --ct-accent-hsl: 192 78% 41%; /* 强调色 */
  --ct-background-base-hsl: 0 0% 100%; /* 最底层的背景色 */
  --ct-background-surface-hsl: 210 17% 98%; /* 卡片、面板等表层元素的背景色 */
  --ct-text-base-hsl: 210 10% 15%; /* 主要文本颜色 */
  --ct-text-secondary-hsl: 210 9% 30%; /* 次主要文本颜色 */
  --ct-text-muted-hsl: 208 7% 46%; /* 次要或辅助性文本颜色 */
  --ct-border-base-hsl: 210 16% 91%; /* 主要边框颜色 */

  /* 状态颜色 - HSL 通道 */
  --ct-info-hsl: 192 78% 41%;
  --ct-success-hsl: 134 61% 40%;
  --ct-warning-hsl: 45 100% 51%;
  --ct-error-hsl: 354 70% 54%;

  /* 内容颜色等 - HSL 通道 */
  --ct-primary-content-hsl: 0 0% 100%; /* 针对 primary 背景的文本颜色 */
  --ct-neutral-hsl: 210 10% 15%; /* DaisyUI neutral 常用于文本或中性背景, 初始值同 text-text-base */

  /* 默认透明度变量 */
  --ct-background-base-opacity: 1; /* 主要背景色透明度 */
  --ct-menu-item-active-bg-opacity: 0.1;
  --ct-component-hover-bg-opacity: 0.05;
  --ct-panel-bg-opacity: 1; /* 面板通常不透明或由特定主题定义 */
  --ct-disabled-opacity: 0.5; /* 通用禁用透明度 */

  /* 边框透明度变量 */
  --ct-border-base-opacity: 1; /* 基础边框透明度 */
  --ct-border-primary-opacity: 1; /* 基于主色的边框透明度 */
  --ct-border-secondary-opacity: 1; /* 基于次要色的边框透明度 */
  --ct-border-accent-opacity: 1; /* 基于强调色的边框透明度 */
  --ct-border-decorative-opacity: 0.5; /* 装饰性边框透明度 */

  /* 画布背景图案 */
  --ct-bg-pattern-color: hsl(var(--ct-text-muted-hsl) / 0.6); /* 亮色模式下的背景图案颜色 - 透明度调整为0.6，基于柔和文本色 */

  /* 遮罩层 */
  --ct-backdrop-bg-hsl: 0 0% 0%; /* 遮罩层背景颜色 HSL (默认黑色) */
  --ct-backdrop-opacity: 0.5; /* 遮罩层透明度 */

  /* 焦点状态 */
  --ct-focus-ring-opacity: 0.5; /* 焦点环透明度 */

  /* 跳过节点样式 */
  --ct-node-skipped-opacity: 0.6; /* 默认亮色模式下跳过节点的透明度 */
  --ct-node-skipped-overlay-color: rgba(180, 180, 180, 0.15); /* 默认亮色模式下跳过节点的覆盖颜色 */

  /* 通用阴影颜色定义 */
  --ct-shadow-opacity: 0.1; /* 亮色模式下的阴影透明度 */
  --ct-shadow-color: hsl(var(--ct-border-base-hsl) / var(--ct-shadow-opacity));

  /* --ct-primary-focus: color-mix(in srgb, hsl(var(--ct-primary-hsl)), black 20%); */

  /* DaisyUI 派生颜色变量 */
  --ct-primary-focus-hsl: color-mix(in srgb, hsl(var(--ct-primary-hsl)), black 15%);
  --ct-secondary-content-hsl: var(--ct-primary-content-hsl); /* 假设与 primary content 相同 */
  --ct-accent-content-hsl: var(--ct-primary-content-hsl);
  --ct-neutral-content-hsl: var(--ct-primary-content-hsl);
  --ct-info-content-hsl: var(--ct-primary-content-hsl);
  --ct-success-content-hsl: var(--ct-primary-content-hsl);
  --ct-warning-content-hsl: var(--ct-primary-content-hsl);
  --ct-error-content-hsl: var(--ct-primary-content-hsl);
  /* ... 更多 DaisyUI 特定变量可以根据需要添加和映射 ... */
}

html.dark {
  /* 默认暗色主题变量 - HSL 通道 */
  --ct-primary-hsl: 207 90% 63%;
  --ct-secondary-hsl: 210 6% 56%;
  --ct-accent-hsl: 187 68% 54%;
  --ct-background-base-hsl: 0 0% 7%;
  --ct-background-surface-hsl: 0 0% 12%;
  --ct-text-base-hsl: 0 0% 88%;
  --ct-text-secondary-hsl: 0 0% 75%; /* 次主要文本颜色 */
  --ct-text-muted-hsl: 0 0% 63%;
  --ct-border-base-hsl: 0 0% 26%;

  /* 暗色模式下的状态颜色 - HSL 通道 */
  --ct-info-hsl: 187 68% 54%;
  --ct-success-hsl: 130 50% 42%; /* 咕咕调整：降低饱和度和亮度 */
  --ct-warning-hsl: 42 96% 50%;
  --ct-error-hsl: 0 94% 65%;

  /* 内容颜色等 - HSL 通道 */
  --ct-primary-content-hsl: 0 0% 100%;
  --ct-neutral-hsl: 0 0% 88%; /* 初始值同 text-text-base */

  /* 暗色模式下的默认透明度变量 (可以与亮色不同，或由主题JSON覆盖) */
  --ct-background-base-opacity: 1; /* 主要背景色透明度 */
  --ct-menu-item-active-bg-opacity: 0.2;
  --ct-component-hover-bg-opacity: 0.1;
  --ct-panel-bg-opacity: 1;
  /* --ct-disabled-opacity: 0.5; (通常此值不随亮暗模式改变，除非特定设计) */

  /* 暗色模式下的边框透明度变量 (可以与亮色不同，或由主题JSON覆盖) */
  --ct-border-base-opacity: 1;
  --ct-border-primary-opacity: 1;
  --ct-border-secondary-opacity: 1;
  --ct-border-accent-opacity: 1;
  --ct-border-decorative-opacity: 0.5;

  /* 画布背景图案 */
  --ct-bg-pattern-color: hsl(var(--ct-text-muted-hsl) / 0.6); /* 暗色模式下的背景图案颜色 - 透明度调整为0.6，基于柔和文本色 */

  /* 遮罩层 (暗色模式下通常与亮色模式一致，或由主题JSON覆盖) */
  /* --ct-backdrop-bg-hsl: 0 0% 0%; (如果与 :root 不同则取消注释) */
  /* --ct-backdrop-opacity: 0.5; (如果与 :root 不同则取消注释) */

  /* 焦点状态 (暗色模式下通常与亮色模式一致，或由主题JSON覆盖) */
  /* --ct-focus-ring-opacity: 0.5; (如果与 :root 不同则取消注释) */

  /* 暗色模式下跳过节点样式 */
  --ct-node-skipped-opacity: 0.5; /* 默认暗色模式下跳过节点的透明度 */
  --ct-node-skipped-overlay-color: rgba(100, 100, 100, 0.25); /* 默认暗色模式下跳过节点的覆盖颜色 */

  /* 通用阴影颜色定义 */
  --ct-shadow-opacity: 0.25; /* 暗色模式下的阴影透明度 */
  --ct-shadow-color: hsl(var(--ct-border-base-hsl) / var(--ct-shadow-opacity));

  /* --ct-primary-focus: color-mix(in srgb, hsl(var(--ct-primary-hsl)), white 20%); */

  /* 暗色模式下的 DaisyUI 派生颜色 */
  --ct-primary-focus-hsl: color-mix(in srgb, hsl(var(--ct-primary-hsl)), white 15%);
  /* 暗色模式下 content 颜色可能需要调整，这里暂时保持一致 */
  --ct-secondary-content-hsl: var(--ct-primary-content-hsl);
  --ct-accent-content-hsl: var(--ct-primary-content-hsl);
  --ct-neutral-content-hsl: var(--ct-primary-content-hsl);
  --ct-info-content-hsl: var(--ct-primary-content-hsl);
  --ct-success-content-hsl: var(--ct-primary-content-hsl);
  --ct-warning-content-hsl: var(--ct-primary-content-hsl);
  --ct-error-content-hsl: var(--ct-primary-content-hsl);
}

/*
  ==========================================================================
    DaisyUI <> ComfyTavern Theme Bridge
  ==========================================================================

  This section acts as a bridge between our dynamic ComfyTavern theme system
  (using --ct- variables) and DaisyUI's theme system.

  We let DaisyUI generate its standard 'light' and 'dark' themes. Then, here,
  we override DaisyUI's core HSL color variables with our own, ensuring all
  DaisyUI components automatically adopt our dynamic themes.

  This approach is robust because it doesn't fight the build-time nature of
  Tailwind/DaisyUI. Instead, it applies a cascading override at runtime, which
  is exactly what CSS is designed for.
*/
[data-theme="light"],
[data-theme="dark"] {
  /* 核心颜色 Core Colors */
  --p: var(--ct-primary-hsl); /* primary */
  --s: var(--ct-secondary-hsl); /* secondary */
  --a: var(--ct-accent-hsl); /* accent */
  --n: var(--ct-neutral-hsl); /* neutral */

  /* 背景色 Backgrounds */
  --b1: var(--ct-background-base-hsl); /* base-100 */
  --b2: var(--ct-background-surface-hsl); /* base-200 */
  /* --b3 (base-300) 会由 daisyUI 根据 --b2 自动派生 */

  /* 文本和内容颜色 Text & Content Colors */
  --bc: var(--ct-text-base-hsl); /* base-content */
  --pc: var(--ct-primary-content-hsl); /* primary-content */
  --sc: var(--ct-secondary-content-hsl); /* secondary-content */
  --ac: var(--ct-accent-content-hsl); /* accent-content */
  --nc: var(--ct-neutral-content-hsl); /* neutral-content */

  /* 状态颜色 State Colors */
  --in: var(--ct-info-hsl); /* info */
  --su: var(--ct-success-hsl); /* success */
  --wa: var(--ct-warning-hsl); /* warning */
  --er: var(--ct-error-hsl); /* error */

  /* 状态内容颜色 State Content Colors */
  --inc: var(--ct-info-content-hsl); /* info-content */
  --suc: var(--ct-success-content-hsl); /* success-content */
  --wac: var(--ct-warning-content-hsl); /* warning-content */
  --erc: var(--ct-error-content-hsl); /* error-content */

  /* 派生颜色 (我们覆盖了的有自定义逻辑的) Derived Colors (overridden with custom logic) */
  --pf: var(--ct-primary-focus-hsl); /* primary-focus */
  /* 其他焦点色，如 --sf, --af, --nf 会由 daisyUI 自动派生 */
}
