/* Single UI foundation. Canvas is the visual baseline; pages own layout only. */
:root {
  /* Fixed proofing backgrounds: intentionally independent of the app theme. */
  --anam-image-proof-white: #ffffff;
  --anam-image-proof-black: #000000;
  --anam-image-proof-checker: #d9d9d9;
  --canvas-layer-workflow-panel: 35; /* Workflow controls above composer (30), below card menus. */
  --canvas-card-radius: var(--r-lg);
  --generation-light-blue-rgb: 79, 140, 255;
  --generation-ambient-duration: 8s;
  --generation-orbit-duration: 3s;
  --canvas-layer-card-menu: 40; /* Screen-space card actions above composer (30), below dialogs. */
  --discovery-cover-text: #ffffff;
  --discovery-cover-shade: rgba(0, 0, 0, 0.88);
  --anam-on-primary: #ffffff;
  --anam-modal-scrim: rgba(8, 8, 12, 0.56);
  --anam-primary: #6d4aff;
  --anam-secondary: #7c5cfc;
  --anam-sky: #5733e6;
  --anam-bg: #ffffff;      /* 纯白底,清爽;层次靠紫调软填充+阴影(jason 拍板,弃薰衣草底) */
  --anam-bg-soft: #f4f3fa; /* 次级浅紫白,仅 sunken/分区用 */
  /* 克制中性暗色默认。RGB 通道(只含三元组),亮色块翻转;
     字面量改写为 rgba(var(--channel), α) 保留原 α → 全局翻转、零层级丢失。 */
  --anam-fg-rgb: 26, 23, 38;      /* 暖白前景,减少死白数码感 */
  --anam-surface-rgb: 255, 255, 255;    /* 面板/侧栏/菜单基底 */
  --anam-card-rgb: 255, 255, 255;       /* 卡片实底(高一层) */
  --anam-tint-rgb: 255, 255, 255; /* 低α软填充翻白:面板/按钮/chip 纯白,层次靠发丝线+阴影(jason 拍板) */
  --anam-ink-rgb: 26, 23, 38;     /* 高α深色用途:tooltip 底/卡片发丝描边(暗色翻白) */
  --anam-border-rgb: 26, 23, 38;  /* 发丝边框(配 .08/.14 alpha),中性墨,白面靠它定形 */
  --anam-surface: rgba(var(--anam-surface-rgb), 0.94);
  --anam-surface-raised: rgba(var(--anam-surface-rgb), 0.98);
  --anam-surface-solid: rgb(var(--anam-card-rgb));
  --anam-border: rgba(var(--anam-border-rgb), 0.08);
  --anam-border-hover: rgba(var(--anam-border-rgb), 0.14);
  --anam-text: rgb(var(--anam-fg-rgb));
  --anam-muted: rgba(var(--anam-fg-rgb), 0.64);
  --anam-faint: rgba(var(--anam-fg-rgb), 0.4);
  --anam-panel-bg: rgba(var(--anam-surface-rgb), 0.96);
  --anam-panel-bg-strong: rgba(var(--anam-surface-rgb), 0.99);
  --anam-card-shell-bg: rgba(var(--anam-card-rgb), 0.98);
  --anam-panel-line: rgba(var(--anam-border-rgb), 0.07);
  --anam-panel-line-strong: rgba(var(--anam-border-rgb), 0.12);
  --anam-cool-accent-rgb: 109, 74, 255;
  /* 品牌强调 + 状态色 + scale(供组件统一引用) */
  --anam-success: #2fb67a;
  --anam-warning: #f2a33c;
  --anam-danger: #f0544f;
  --anam-info: #6d4aff;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-4xl: 48px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 24px; --r-2xl: 32px; --r-pill: 999px;
  --motion-fast: 120ms; --motion: 180ms; --motion-slow: 240ms;
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --anam-primary-gradient: linear-gradient(135deg, #7c5cfc 0%, #6d4aff 50%, #5733e6 100%);
  --anam-focus-ring: 0 0 0 2px rgba(109, 74, 255, 0.42);
  --anam-shadow-soft: 0 2px 8px rgba(24, 24, 27, 0.1);
  --anam-shadow-panel:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 20px 60px rgba(0, 0, 0, 0.48);
  --anam-shadow-hover:
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    0 12px 28px rgba(24, 24, 27, 0.16);
  --anam-blur: blur(18px);
  --anam-glow: none;
  --ui-font-sans: "Plus Jakarta Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ui-control-height: 40px;
  --ui-media-ink: #111111;
  --ui-media-white: #ffffff;
  --ui-media-scrim: #0008;
  color: rgb(var(--anam-fg-rgb));
  background: #ffffff;
  font-family: var(--ui-font-sans);
  /* 仅放开斜体合成:中文字体无斜体字形,需合成才能渲染 <em>(全站生效);
     weight 合成保持关闭,有真斜体字形的拉丁字体仍优先用真字形。 */
  font-synthesis: style;
  text-rendering: geometricPrecision;
}

:root,
[data-ui-theme="light"],
.anam-theme-light {
  --anam-fg-rgb: 26, 23, 38;          /* ink-900 #1A1726,带紫调近黑 */
  --anam-surface-rgb: 255, 255, 255;
  --anam-card-rgb: 255, 255, 255;
  --anam-tint-rgb: 255, 255, 255;     /* 软填充翻白:chip/按钮/占位纯白,靠发丝线+阴影定形 */
  --anam-ink-rgb: 26, 23, 38;         /* 高α深色用途(tooltip 底/选中描边)保持墨色 */
  --anam-border-rgb: 26, 23, 38;      /* 中性墨发丝线,配低 alpha */

  /* 派生语义 token 必须在本作用域重新声明:其 var(通道) 在「声明所在元素」处求值,
     仅在 :root 声明会把通道烤死成暗色默认,亮色覆盖通道也到不了它们(CSS 规范行为)。 */
  --anam-surface: rgba(var(--anam-surface-rgb), 0.95);
  --anam-surface-raised: rgba(var(--anam-surface-rgb), 0.99);
  --anam-surface-solid: rgb(var(--anam-card-rgb));
  --anam-border: rgba(var(--anam-border-rgb), 0.08);
  --anam-border-hover: rgba(var(--anam-border-rgb), 0.16);
  --anam-text: rgb(var(--anam-fg-rgb));
  --anam-muted: rgba(92, 86, 117, 1);   /* ink-600,可读次要文字 */
  --anam-faint: rgba(123, 117, 147, 1); /* ink-500 */
  --anam-panel-bg: rgba(var(--anam-surface-rgb), 0.97);
  --anam-panel-bg-strong: rgba(var(--anam-surface-rgb), 0.995);
  --anam-card-shell-bg: rgba(var(--anam-card-rgb), 0.99);
  --anam-panel-line: rgba(var(--anam-border-rgb), 0.018); /* 框线几近消失,定形完全交给阴影 */
  --anam-panel-line-strong: rgba(var(--anam-border-rgb), 0.045);
  --anam-cool-accent-rgb: 109, 74, 255;

  --anam-primary: #6d4aff;
  --anam-secondary: #6d4aff; /* 亮色去渐变:三个梯度色收平成主紫,所有 135° 渐变自动变纯色 */
  --anam-sky: #6d4aff;
  --anam-bg: #f3f3f5;      /* 浅灰画布底(tapnow 风格),白卡浮于其上 */
  --anam-bg-soft: #ededf0;
  --anam-success: #2fb67a;
  --anam-warning: #f2a33c;
  --anam-danger: #f0544f;
  --anam-info: #6d4aff;
  --anam-primary-gradient: linear-gradient(0deg, #6d4aff, #6d4aff); /* 亮色去渐变,纯主紫 */
  --anam-focus-ring: 0 0 0 2px rgba(109, 74, 255, 0.35);
  --anam-shadow-soft: 0 2px 8px rgba(24, 24, 27, 0.1);
  --anam-shadow-panel:
    0 1px 2px rgba(24, 24, 27, 0.05),
    0 12px 30px rgba(24, 24, 27, 0.13); /* 淡淡投影:替代描边把模块轻轻托起 */
  --anam-shadow-hover:
    0 2px 6px rgba(24, 24, 27, 0.07),
    0 16px 38px rgba(24, 24, 27, 0.17);
  color-scheme: light;
  --anam-on-primary: #ffffff;
}

[data-ui-theme="dark"],
.anam-theme-dark {
  --anam-fg-rgb: 242, 242, 242;
  --anam-surface-rgb: 32, 32, 32;
  --anam-card-rgb: 39, 39, 39;
  --anam-tint-rgb: 255, 255, 255;
  --anam-ink-rgb: 255, 255, 255;   /* 暗色下高α深色用途翻白(tooltip/描边) */
  --anam-border-rgb: 255, 255, 255;
  --anam-surface: rgba(var(--anam-surface-rgb), 0.78);
  --anam-surface-raised: rgba(var(--anam-surface-rgb), 0.92);
  --anam-surface-solid: rgb(var(--anam-card-rgb));
  --anam-border: rgba(var(--anam-border-rgb), 0.1);
  --anam-border-hover: rgba(var(--anam-border-rgb), 0.18);
  --anam-text: rgb(var(--anam-fg-rgb));
  --anam-muted: rgba(var(--anam-fg-rgb), 0.66);
  --anam-faint: rgba(var(--anam-fg-rgb), 0.42);
  --anam-panel-bg:
    linear-gradient(180deg, rgba(var(--anam-tint-rgb), 0.045), rgba(var(--anam-tint-rgb), 0.012)),
    rgba(var(--anam-surface-rgb), 0.86);
  --anam-panel-bg-strong:
    linear-gradient(180deg, rgba(var(--anam-tint-rgb), 0.055), rgba(var(--anam-tint-rgb), 0.016)),
    rgba(var(--anam-surface-rgb), 0.94);
  --anam-card-shell-bg:
    linear-gradient(180deg, rgba(var(--anam-tint-rgb), 0.03), rgba(var(--anam-tint-rgb), 0.012)),
    rgba(var(--anam-card-rgb), 0.95);
  --anam-panel-line: rgba(var(--anam-border-rgb), 0.12);
  --anam-panel-line-strong: rgba(var(--anam-border-rgb), 0.2);
  --anam-cool-accent-rgb: 155, 107, 255;
  --anam-on-primary: #111111;
  --anam-modal-scrim: rgba(0, 0, 0, 0.56);
  --anam-primary: #9b6bff;
  --anam-secondary: #b89bff;
  --anam-sky: #7c5cfc;
  --anam-bg: #111111;
  --anam-bg-soft: #1c1c1c;
  --anam-success: #4ade80;
  --anam-warning: #facc15;
  --anam-danger: #f87171;
  --anam-info: #b89bff;
  --anam-primary-gradient: linear-gradient(135deg, #9b6bff 0%, #7c5cfc 50%, #6d4aff 100%);
  --anam-focus-ring: 0 0 0 2px rgba(155, 107, 255, 0.45);
  --anam-shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.3);
  --anam-shadow-panel: 0 16px 48px rgba(0, 0, 0, 0.42);
  --anam-shadow-hover:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 12px 28px rgba(0, 0, 0, 0.34);
  color-scheme: dark;
}

/* Legacy component names are aliases, never independent palettes. */
:root, [data-ui-theme], .anam-theme-light, .anam-theme-dark {
  --anam-text-muted: var(--anam-muted);
  --ui-hover: rgba(var(--anam-fg-rgb), .05);
  --ui-accent-soft: rgba(var(--anam-cool-accent-rgb), .1);
  --bw-bg: var(--anam-bg); --bw-paper: var(--anam-surface-solid);
  --bw-ink: var(--anam-text); --bw-muted: var(--anam-muted); --bw-line: var(--anam-border);
  --bw-blue: var(--anam-primary); --bw-purple: var(--anam-primary);
  --bw-accent-soft: var(--ui-accent-soft); --bw-purple-soft: var(--ui-accent-soft);
  --bw-success: var(--anam-success); --bw-success-soft: color-mix(in srgb, var(--anam-success) 10%, var(--anam-surface-solid));
  --bw-warning: var(--anam-warning); --bw-warning-soft: color-mix(in srgb, var(--anam-warning) 10%, var(--anam-surface-solid));
  --bw-danger: var(--anam-danger); --bw-danger-soft: color-mix(in srgb, var(--anam-danger) 10%, var(--anam-surface-solid));
  --bw-night: var(--anam-text); --bw-overlay: var(--anam-modal-scrim);
  --bw-shadow: var(--anam-shadow-soft); --bw-gradient: var(--anam-primary-gradient);
  --wh-ink-rgb: var(--anam-fg-rgb); --wh-ink: var(--anam-text); --wh-ink-2: var(--anam-text); --wh-ink-3: var(--anam-text); --wh-ink-soft: var(--anam-muted);
  --wh-paper-rgb: var(--anam-surface-rgb); --wh-paper: var(--anam-surface-solid);
  --wh-cream: var(--anam-bg-soft); --wh-cream-2: var(--anam-bg); --wh-cream-3: var(--anam-bg-soft);
  --wh-violet: var(--anam-primary); --wh-violet-soft: var(--ui-accent-soft); --wh-violet-soft-2: var(--ui-accent-soft);
  --wh-gold: var(--ui-accent-soft); --wh-gold-2: var(--ui-accent-soft); --wh-amber: var(--anam-primary);
  --wh-gold-rgb: var(--anam-cool-accent-rgb); --wh-gold-warm-rgb: var(--anam-cool-accent-rgb);
  --wh-violet-glow-rgb: var(--anam-cool-accent-rgb); --wh-violet-mist-rgb: var(--anam-cool-accent-rgb);
  --ink-200: var(--anam-border); --ink-500: var(--anam-faint); --ink-600: var(--anam-muted); --ink-700: var(--anam-text); --ink-900: var(--anam-text);
  --violet-300: var(--anam-primary); --violet-600: var(--anam-primary); --violet-700: var(--anam-sky);
}

/* Brand controls retain a full text line inside the shared workspace fields. */
.bw-shell .brand-selection select { height: var(--ui-control-height); padding: 0 var(--space-2); font-size: var(--text-sm); line-height: 1.4; }

/* Shared controls. Screen-specific CSS may set placement or width, not a new skin. */
.bw-primary, .bw-secondary, .ui-theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: var(--ui-control-height); padding: 0 var(--space-4); border: 1px solid transparent;
  border-radius: var(--r-sm); font: 500 var(--text-sm)/1.4 var(--ui-font-sans); white-space: nowrap; cursor: pointer;
}
.bw-primary, .ah-send { background: var(--anam-primary); color: var(--anam-on-primary); }
.bw-primary:hover, .ah-send:hover:not(:disabled) { filter: brightness(.94); }
.bw-secondary { color: var(--anam-text); background: var(--anam-surface-solid); border-color: var(--anam-border); }
.bw-secondary:hover { background: var(--ui-hover); }
.bw-primary:disabled, .bw-secondary:disabled, .ah-send:disabled { opacity: .4; cursor: default; }
.bw-icon-button, .ui-theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: var(--ui-control-height); height: var(--ui-control-height); padding: 0; flex: none; border: 0; border-radius: var(--r-sm); background: transparent; color: var(--anam-muted); }
.bw-icon-button:hover, .ui-theme-toggle:hover { background: var(--ui-hover); color: var(--anam-text); }
:is(.agent-home,.bw-shell) :is(button,a,select,input,summary):focus-visible { outline: 2px solid var(--anam-primary); outline-offset: 3px; }
.ui-theme-toggle svg { width: 18px; height: 18px; }
[data-ui-theme="dark"] .ui-theme-moon, :root:not([data-ui-theme="dark"]) .ui-theme-sun { display: none; }
@media (hover:none) { .ui-theme-toggle,.bw-icon-button { min-width: 44px; min-height: 44px; } }
