/* =========================================================================
   AI 选标助手 — 现代极简设计系统（ChatGPT / Claude 风）
   中性灰白 · 大量留白 · 单色点缀 · 无渐变
   ========================================================================= */

:root {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
        "Liberation Mono", "Courier New", monospace;

    /* 中性色阶 */
    --color-bg: #f7f7f8;
    --color-surface: #ffffff;
    --color-surface-hover: #f0f0f3;
    --color-sidebar-bg: #fafafa;
    --color-border: #ececef;
    --color-border-strong: #e2e2e8;
    /* 正文分隔线:比卡片边框深一档,在纯白气泡上拉成长横线时仍清晰可辨 */
    --color-divider: #d4d4dd;

    /* 文字 */
    --color-text: #1a1a1f;
    --color-text-secondary: #6b6b78;
    --color-text-tertiary: #9a9aa6;

    /* 主色点缀（可被 Agent theme_color 覆盖；派生色用 color-mix 自动跟随）*/
    --color-primary: #4f46e5;
    --color-primary-text: #ffffff;

    /* 语义色 */
    --color-danger: #e5484d;

    /* 圆角 */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-pill: 999px;

    /* 阴影（克制）*/
    --shadow-sm: 0 1px 2px rgba(15, 15, 25, 0.05);
    --shadow-md: 0 4px 16px rgba(15, 15, 25, 0.08);
    --shadow-lg: 0 12px 40px rgba(15, 15, 25, 0.16);

    /* 动画 */
    --duration-fast: 0.15s;
    --duration-base: 0.22s;
    --ease: cubic-bezier(0.4, 0, 0.2, 1);

    /* 布局 */
    --sidebar-width: 264px;
    --content-max: 1080px;
}

/* 派生色：主色变化时自动跟随 */
:root {
    --color-primary-hover: color-mix(in srgb, var(--color-primary) 86%, #000);
    --color-primary-soft: color-mix(in srgb, var(--color-primary) 10%, transparent);
    --color-danger-soft: color-mix(in srgb, var(--color-danger) 12%, transparent);
}

/* B7 深色模式：覆盖中性色阶,主题色与派生色保持(自动适配) */
:root[data-theme="dark"] {
    --color-bg: #1a1a1f;
    --color-surface: #26262c;
    --color-surface-hover: #303038;
    --color-sidebar-bg: #161619;
    --color-border: #34343c;
    --color-border-strong: #404048;
    --color-divider: #4d4d57;
    --color-text: #f0f0f3;
    --color-text-secondary: #a8a8b4;
    --color-text-tertiary: #6b6b78;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background-color: var(--color-bg);
    font-family: var(--font-sans);
    color: var(--color-text);
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Lucide 图标统一尺寸：跟随容器 font-size */
.lucide,
[data-lucide] {
    width: 1em;
    height: 1em;
    stroke-width: 2;
    vertical-align: -0.125em;
    flex-shrink: 0;
}

.chat-container {
    height: 100vh;
    height: 100dvh;
    display: flex;
}

