@layer design {
/* 现代主题 modern · 设计变量。原始层 --md-* 私有；语义层按契约 ui/themes/_contract/semantic-tokens.json；
   深色为默认，浅色单独调色；只认宿主写的 data-mode / data-motion / data-density。 */
@layer theme {

/* ---------- 原始层 ---------- */
:root[data-theme="chulian"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  /* 即梦实测，调整方案 §1.1c：18 / 23 / 34 / 38 / 55 / 71 */
  --md-n0: #09090a; --md-n1: #121212; --md-n2: #171717; --md-n3: #222222; --md-n4: #262626; --md-n5: #373737;
  --md-n6: #474747; --md-n7: #414147; --md-n8: #5a5a62; --md-n9: #93939c; --md-n10: #afafb7; --md-n11: #cacacf; --md-n12: #ffffff;
  /* 浅色中性灰 */
  --md-l0: #ffffff; --md-l1: #fcfcfc; --md-l2: #f6f8fa; --md-l3: #f0f0f0; --md-l4: #e3e3e7; --md-l5: #d6d6dc;
  --md-l6: #bdbdc5; --md-l7: #9a9aa3; --md-l8: #86868f; --md-l9: #66666f; --md-l10: #4d4d56; --md-l11: #34343b; --md-l12: #171717;
  /* 信号橙：深色上放深字，浅色上放白字 */
  --md-orange-d: #ff7f3a; --md-orange-l: #b62d00;
  /* 状态色：第 2 批定稿（补充 2，2026-09-30 验收）：进行中蓝、待处理紫、已采用绿、出错玫红、警示黄；只画记号、边框与状态线，状态文字用正文色 */
  /* UI3 ask10: retain hue while keeping status marks above 3:1 on the pressed surface. */
  --md-blue-d: #009af5; --md-yellow-d: #dabf00; --md-green-d: #5ae2ac; --md-rose-d: #d772ad;
  --md-blue-l: #1d489e; --md-yellow-l: #9c7600; --md-green-l: #008d5d; --md-rose-l: #87105f;
  --md-violet-d: #b6a3e4; --md-violet-l: #8351bf;
}

/* ---------- 语义层 · 深色（默认；也用于浅色模式里的中性舞台） ---------- */
:root[data-theme="chulian"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)),
:root[data-theme="chulian"][data-mode="light"] :where([data-ui="v2"]) .is-stage:not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  color-scheme: dark;
  /* 面：底 < 模块 < 面内抬起 < 芯片与轨道；浮层单独一级 */
  --bg: var(--md-n1);
  --surface: var(--md-n2);
  --surface-2: var(--md-n3);
  --surface-3: var(--md-n5);
  --surface-4: var(--md-n4);
  --overlay: rgba(0, 0, 0, .62);
  --archive-bg: #121214;
  --field-bg: rgba(0, 0, 0, .28);
  --field-line: rgba(255, 255, 255, .38);   /* 输入框边界 ≥ 3:1 */
  /* 字 */
  --ink: var(--md-n12);
  --muted: #b9b9b9;   /* 第 2 批补充 1：次字往正文色那边提 */
  --faint: #6a6a6a;
  --on-accent: #1a0b03;
  --action-primary-bg: #f2f2f4;
  --action-primary-ink: #0e0e0f;
  /* 线 */
  --line: rgba(255, 255, 255, .09);
  --line-subtle: rgba(255, 255, 255, .06);
  --line-strong: rgba(255, 255, 255, .2);
  --control-line: rgba(255, 255, 255, .16);
  --hairline: 1px;
  --edge-light: rgba(255, 255, 255, .045);   /* 顶边内高光 */
  /* 交互填充 */
  --fill-hover: var(--md-n4);   /* 填色用第 2 批取值：原值在第三级面层上让状态色低于 3:1 */
  --fill-pressed: var(--md-n6);
  --fill-selected: var(--md-n5);
  /* 强调与焦点 */
  --accent: var(--md-orange-d);
  --accent-soft: rgba(255, 127, 58, .14);
  --accent-line: rgba(255, 127, 58, .6);
  --focus: var(--md-orange-d);
  /* 状态 */
  --running: var(--md-blue-d);   --running-soft: rgba(0, 154, 245, .14);
  --pending: var(--md-violet-d); --pending-soft: rgba(182, 163, 228, .12);
  --warn: var(--md-yellow-d);    --warn-soft: rgba(218, 191, 0, .12);
  --adopted: var(--md-green-d);  --adopted-soft: rgba(90, 226, 172, .13);
  --error: var(--md-rose-d);     --error-soft: rgba(215, 114, 173, .14);
  --unknown: var(--muted);   /* RI-1 / 调整方案 §1.1c：次字灰在 U2 提亮表面上保持记号 3:1；仍靠虚线圈和文字辨识。 */
  /* 八种类型色：低彩度弱提示（第 2 批补充 2），只用在铭牌与 2px 类型线 */
  --t-content: #7f6178; --t-agent: #f7b6c3; --t-capability: #637947; --t-method: #659e84;
  --t-task: #95c7c7; --t-run: #7ca4b8; --t-surface: #6b7fa4; --t-rule: #b6acd9;
  /* 中性舞台：看画面、审片；不带色偏，四套统一 */
  --stage: #121212;
  --onstage: #eeeeee;
  --stage-line: rgba(255, 255, 255, .08);
  --stage-muted: #b7b7b7;
  /* 阴影：模块不投影；只给浮起的东西 */
  --shadow-1: 0 1px 2px rgba(0, 0, 0, .5);
  --shadow-2: 0 12px 32px rgba(0, 0, 0, .15), 0 2px 8px rgba(0, 0, 0, .15);
  --shadow-3: 0 24px 64px rgba(0, 0, 0, .66), 0 4px 16px rgba(0, 0, 0, .4);
  --shadow: var(--shadow-1);
}

/* ---------- 语义层 · 浅色（单独调色） ---------- */
:root[data-theme="chulian"][data-mode="light"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  color-scheme: light;
  --bg: var(--md-l2);
  --surface: var(--md-l0);
  --surface-2: var(--md-l1);
  --surface-3: var(--md-l3);
  --surface-4: var(--md-l0);
  --overlay: rgba(18, 18, 22, .38);
  --archive-bg: var(--md-l3);
  --field-bg: rgba(20, 20, 26, .035);
  --field-line: rgba(20, 20, 26, .52);
  --ink: var(--md-l12);
  --muted: #595959;   /* 第 2 批补充 1：次字往正文色那边提 */
  --faint: #9a9a9a;
  --on-accent: #ffffff;
  --action-primary-bg: var(--md-l12);
  --action-primary-ink: #ffffff;
  --line: rgba(20, 20, 26, .1);
  --line-subtle: rgba(20, 20, 26, .06);
  --line-strong: rgba(20, 20, 26, .22);
  --control-line: rgba(20, 20, 26, .2);
  --edge-light: rgba(255, 255, 255, .7);
  --fill-hover: #f5f5f5;
  --fill-pressed: #e7e9eb;
  --fill-selected: #f0f0f0;
  --accent: var(--md-orange-l);   /* 第 2 批补充 1：浅色强调色加深 */
  --accent-soft: rgba(182, 45, 0, .09);
  --accent-line: rgba(182, 45, 0, .5);
  --focus: #ac2c08;
  --running: var(--md-blue-l);   --running-soft: rgba(29, 72, 158, .08);
  --pending: var(--md-violet-l); --pending-soft: rgba(131, 81, 191, .08);
  --warn: var(--md-yellow-l);    --warn-soft: rgba(156, 118, 0, .1);
  --adopted: var(--md-green-l);  --adopted-soft: rgba(0, 141, 93, .08);
  --error: var(--md-rose-l);     --error-soft: rgba(135, 16, 95, .07);
  --unknown: #5f5f5f;
  --t-content: #855f89; --t-agent: #b2758d; --t-capability: #4b531d; --t-method: #16472e;
  --t-task: #33625f; --t-run: #4a7b8d; --t-surface: #2e4360; --t-rule: #857eb1;
  /* 舞台在浅色下仍是深色：看视频不受外壳颜色影响；四套统一 */
  --stage: #121212;
  --onstage: #eeeeee;
  --stage-line: rgba(255, 255, 255, .09);
  --stage-muted: #b7b7b7;
  --shadow-1: 0 1px 2px rgba(16, 16, 20, .07);
  --shadow-2: 0 12px 32px rgba(16, 16, 20, .12), 0 2px 6px rgba(16, 16, 20, .06);
  --shadow-3: 0 24px 64px rgba(16, 16, 20, .18), 0 4px 12px rgba(16, 16, 20, .08);
  --shadow: var(--shadow-1);
}

/* ---------- 语义层 · 与明暗无关 ---------- */
:root[data-theme="chulian"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  /* 形状 */
  --r-control: 10px;
  --r-object: 12px;
  --r-panel: 16px;
  --r-popover: 18px;
  --r-dialog: 24px;
  --r-composer: 28px;
  /* 字体：界面无衬线；作品身份（剧名、集名）用本机宋体；数字一律表格数字 */
  --font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", sans-serif;
  --text-xs: 12px; --text-sm: 13px; --text-md: 14px; --text-lg: 16px; --text-xl: 20px; --text-2xl: 24px; --text-3xl: 32px;
  --leading-body: 1.7; --leading-ui: 1.5; --leading-title: 1.3;
  /* 控件尺寸（密度：标准） */
  --ctl-h-sm: 28px; --ctl-h: 36px; --ctl-h-lg: 44px;
  /* 3B：时长 ×0.8。 */
  --dur-1:64ms;--dur-2:112ms;--dur-3:160ms;--dur-4:224ms;--dur-5:336ms;
  --ease-spring: linear(0, .21 7%, .56 16%, .86 27%, 1.01 40%, 1.02 48%, 1 64%, 1);
  --motion-hover-y: -2px; --motion-enter-y: 4px; --motion-dialog-y: 8px; --motion-press-y: 1px; --motion-press-scale: .99; --motion-enter-scale: .985;
  --motion-stagger: 16ms; --motion-stagger-count: 4; --motion-wait-cycle: 1280ms; --motion-focus-once: 384ms;
  --ease-open: var(--ease-enter);   /* 旧名，基础层与页面在用 */
}
/* 密度：紧凑 */
:root[data-theme="chulian"][data-density="compact"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) { --ctl-h-sm: 24px; --ctl-h: 32px; --ctl-h-lg: 40px; }
/* 减少动态：主题层归零。 */
:root[data-theme="chulian"][data-motion="reduced"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) { --dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--dur-5:0ms;
  --motion-wait-cycle:0ms;--motion-focus-once:0ms;
  --motion-hover-y: 0px; --motion-enter-y: 0px; --motion-dialog-y: 0px; --motion-press-y: 0px;
  --motion-press-scale: 1; --motion-enter-scale: 1; --motion-stagger: 0ms; }
/* 高分屏上用 0.5px 细线 */
@media (min-resolution: 2dppx) { :root[data-theme="chulian"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) { --hairline: .5px; } }

}  /* @layer theme */

}

/* 10-14 U2审计：取值来自 DS8c / 10-12导航与首页定稿；导航圆角来自调整方案§1.1c。
 * 明暗共用，原尺寸不变；没有对应已有角色的尺寸留在主题原始层。 */
@layer design.theme {
:root[data-theme="chulian"],
:root[data-theme="chulian"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  --md-home-max: 1080px;
  --md-navigation-radius: 8px;
  --md-navigation-label-size: 15px;
  --md-navigation-brand-size: 18px;
  --md-home-mark-width: 26px;
  --md-home-mark-height: 27px;
}
}

/* RV-U2 / 调整方案 §1.1c、M4、m1d f415：首屏底色、570×170冷光、21节距星点由modern按深浅供值。共享设计层只消费变量。 */
@layer design.theme {
    :root[data-theme="chulian"],
:root[data-theme="chulian"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  --page-backdrop-base: #121212;
  --page-glow-blue-rgb: 21 39 53;
  --page-glow-blue-alpha: 1;
  --page-glow-blue-at: 50% 0px;
  --page-glow-blue-size: 570px 170px;
  --page-glow-fade: 100%;
  --page-backdrop: radial-gradient(ellipse var(--page-glow-blue-size) at var(--page-glow-blue-at), rgb(var(--page-glow-blue-rgb) / var(--page-glow-blue-alpha)), transparent var(--page-glow-fade));
  --page-dot-alpha: .038;
  --page-dot-spacing: 21px;
  --page-dot-mask-ink: #000;
  --page-dot-mask: radial-gradient(ellipse 400px 95px at 50% 100px, var(--page-dot-mask-ink), transparent 100%);
  --page-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21'%3E%3Cpath fill='white' d='M10.5 7.25L11.25 9.75L13.5 10.5L11.25 11.25L10.5 13.75L9.75 11.25L7.5 10.5L9.75 9.75Z'/%3E%3C/svg%3E")
    }
    :root[data-theme="chulian"][data-mode="light"],
:root[data-theme="chulian"][data-mode="light"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  --page-backdrop-base: #f6f8fa;
  --page-glow-blue-rgb: 114 142 178;
  --page-glow-blue-alpha: .08;
  --page-glow-blue-at: 50% 0px;
  --page-glow-blue-size: 570px 170px;
  --page-glow-fade: 100%;
  --page-backdrop: radial-gradient(ellipse var(--page-glow-blue-size) at var(--page-glow-blue-at), rgb(var(--page-glow-blue-rgb) / var(--page-glow-blue-alpha)), transparent var(--page-glow-fade));
  --page-dot-alpha: .038;
  --page-dot-spacing: 21px;
  --page-dot-mask-ink: #000;
  --page-dot-mask: radial-gradient(ellipse 400px 95px at 50% 100px, var(--page-dot-mask-ink), transparent 100%);
  --page-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21'%3E%3Cpath fill='black' d='M10.5 7.25L11.25 9.75L13.5 10.5L11.25 11.25L10.5 13.75L9.75 11.25L7.5 10.5L9.75 9.75Z'/%3E%3C/svg%3E")
    }
}

/* ==========================================================================
   公司后台 v4 · 用户端 r12 设计变量
   数值照 lanes/zk12-common.md 第五节的表，深浅两套，一字不差。
   挂在和主题切换一样的 :root[data-theme] / [data-mode] 选择器上。
   ========================================================================== */
@layer design.theme {
:root[data-theme="chulian"] {
  /* 面 */
  --r12-bg: #0e0f11;
  --r12-surface: #141518;
  --r12-surface-2: #18191c;
  --r12-surface-3: #1e1f23;
  --r12-pop-bg: #202125;
  --r12-hover: rgba(255,255,255,.06);
  --r12-pressed: rgba(255,255,255,.10);
  --r12-selected-bg: rgba(255,255,255,.14);
  /* 字 */
  --r12-ink: rgba(255,255,255,.92);
  --r12-muted: rgba(255,255,255,.60);
  --r12-faint: rgba(255,255,255,.32);
  /* 线 */
  --r12-line: rgba(255,255,255,.08);
  --r12-line-strong: rgba(255,255,255,.20);
  --r12-selected-border: rgba(255,255,255,.60);
  /* 品牌与状态 */
  --r12-pink: #d6336a;
  --r12-pink-hover: #c42d5f;
  --r12-pink-soft: rgba(214,51,106,.14);
  --r12-ok: #5ad69a;
  --r12-review: #b8a7ff;
  --r12-running: #6fb3ff;
  --r12-error: #ffa8a1;
  --r12-ok-soft: rgba(90,214,154,.12);
  --r12-error-soft: rgba(255,168,161,.12);
  --r12-review-soft: rgba(184,167,255,.12);
  --r12-running-soft: rgba(111,179,255,.12);
  --r12-scrim: rgba(0,0,0,.55);
  /* 形状 */
  --r12-r-control: 10px;
  --r12-r-card: 12px;
  --r12-r-media: 6px;
  --r12-r-panel: 16px;
  --r12-r-pop: 18px;
  --r12-r-dialog: 20px;
  --r12-r-composer: 20px;
  --r12-r-pill: 999px;
  --r12-h-sm: 24px;
  --r12-h: 28px;
  --r12-h-lg: 32px;
  /* 动效 */
  --r12-dur-1: 64ms;
  --r12-dur-2: 112ms;
  --r12-dur-3: 160ms;
  --r12-dur-4: 224ms;
  --r12-dur-5: 336ms;
  --r12-ease: cubic-bezier(.2,0,0,1);
  --r12-ease-enter: cubic-bezier(.05,.7,.1,1);
  --r12-ease-exit: cubic-bezier(.3,0,.8,.15);
  --r12-spring: linear(0, .21 7%, .56 16%, .86 27%, 1.01 40%, 1.02 48%, 1 64%, 1);
  --r12-shadow-pop: 0 12px 32px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.35);
  --r12-shadow-dialog: 0 24px 64px rgba(0,0,0,.66), 0 4px 16px rgba(0,0,0,.4);
  --r12-glow: 0 0 0 1px rgba(255,255,255,.08), 0 18px 48px -24px rgba(214,51,106,.35), 0 0 40px -12px rgba(255,255,255,.06);
}

:root[data-theme="chulian"][data-mode="light"] {
  --r12-bg: #f6f6f7;
  --r12-surface: #ffffff;
  --r12-surface-2: #ffffff;
  --r12-surface-3: #f2f2f4;
  --r12-pop-bg: #ffffff;
  --r12-hover: rgba(17,17,26,.05);
  --r12-pressed: rgba(17,17,26,.08);
  --r12-selected-bg: #ffffff;
  --r12-selected-shadow: 0 1px 2px rgba(17,17,26,.10);
  --r12-ink: rgba(17,17,26,.92);
  --r12-muted: rgba(17,17,26,.60);
  --r12-faint: rgba(17,17,26,.32);
  --r12-line: rgba(17,17,26,.08);
  --r12-line-strong: rgba(17,17,26,.20);
  --r12-selected-border: rgba(17,17,26,.60);
  --r12-pink: #c42d5f;
  --r12-pink-hover: #b32855;
  --r12-pink-soft: rgba(196,45,95,.12);
  --r12-ok: #1f8a52;
  --r12-review: #6f5bc2;
  --r12-running: #1d5fae;
  --r12-error: #a52b2b;
  --r12-ok-soft: rgba(31,138,82,.12);
  --r12-error-soft: rgba(165,43,43,.12);
  --r12-review-soft: rgba(111,91,194,.12);
  --r12-running-soft: rgba(29,95,174,.12);
  --r12-scrim: rgba(0,0,0,.35);
  --r12-shadow-pop: 0 12px 32px rgba(17,17,26,.12), 0 2px 6px rgba(17,17,26,.06);
  --r12-shadow-dialog: 0 24px 64px rgba(17,17,26,.18), 0 4px 12px rgba(17,17,26,.08);
  --r12-glow: 0 1px 2px rgba(17,17,26,.06), 0 16px 40px -20px rgba(196,45,95,.22);
}
}

/* 原有语义变量一律引用 r12，不再另写一套色值。 */
@layer design.theme {
:root[data-theme="chulian"] :where([data-ui="v2"]):not(:where([data-ui="legacy"], [data-ui="legacy"] *)) {
  --bg: var(--r12-bg);
  --surface: var(--r12-surface);
  --surface-2: var(--r12-surface-2);
  --surface-3: var(--r12-surface-3);
  --surface-4: var(--r12-surface-3);
  --overlay: var(--r12-scrim);
  --field-bg: var(--r12-surface-3);
  --field-line: var(--r12-line-strong);
  --ink: var(--r12-ink);
  --muted: var(--r12-muted);
  --faint: var(--r12-faint);
  --line: var(--r12-line);
  --line-subtle: var(--r12-line);
  --line-strong: var(--r12-line-strong);
  --control-line: var(--r12-line-strong);
  --fill-hover: var(--r12-hover);
  --fill-pressed: var(--r12-pressed);
  --fill-selected: var(--r12-selected-bg);
  --accent: var(--r12-pink);
  --accent-soft: var(--r12-pink-soft);
  --accent-line: var(--r12-pink);
  --focus: var(--r12-running);
  --running: var(--r12-running);
  --running-soft: var(--r12-running-soft);
  --pending: var(--r12-review);
  --pending-soft: var(--r12-review-soft);
  --warn: var(--r12-review);
  --warn-soft: var(--r12-review-soft);
  --adopted: var(--r12-ok);
  --adopted-soft: var(--r12-ok-soft);
  --error: var(--r12-error);
  --error-soft: var(--r12-error-soft);
  --unknown: var(--r12-muted);
  --shadow-2: var(--r12-shadow-pop);
  --shadow-3: var(--r12-shadow-dialog);
  --r-control: var(--r12-r-control);
  --r-object: var(--r12-r-card);
  --r-panel: var(--r12-r-panel);
  --r-popover: var(--r12-r-pop);
  --r-dialog: var(--r12-r-dialog);
  --r-composer: var(--r12-r-composer);
  --ctl-h-sm: var(--r12-h-sm);
  --ctl-h: var(--r12-h-lg);
  --ctl-h-lg: var(--r12-h-lg);
}
}
