/**
 * Layer 2: Semantic Tokens - Dark Theme（暗色语义令牌）
 *
 * 维护者：ai13（teacher-portal）
 * 关联：project_rules §3.10
 *
 * 暗色主题覆盖，通过 [data-theme="dark"] 或 prefers-color-scheme: dark 激活。
 */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;

    --bg-paper: hsl(var(--color-ink-h) var(--color-ink-s) var(--color-ink-l-15));
    --bg-surface: hsl(var(--color-ink-h) var(--color-ink-s) 20%);
    --bg-subtle: hsl(var(--color-ink-h) var(--color-ink-s) 25%);

    --color-ink: hsl(var(--color-paper-h) var(--color-paper-s) var(--color-paper-l-98));
    --color-ink-muted: hsl(var(--color-paper-h) var(--color-paper-s) 70%);
    --color-ink-subtle: hsl(var(--color-paper-h) var(--color-paper-s) 60%);
    --color-ink-on-accent: hsl(var(--color-paper-h) var(--color-paper-s) var(--color-paper-l-99));

    --color-accent: hsl(var(--color-accent-h) var(--color-accent-s) var(--color-accent-l-50));
    --color-accent-hover: hsl(var(--color-accent-h) var(--color-accent-s) 60%);
    --color-accent-subtle: hsl(var(--color-accent-h) var(--color-accent-s) 25%);

    --color-rule: hsl(var(--color-ink-h) var(--color-ink-s) 25%);
    --color-rule-strong: hsl(var(--color-ink-h) var(--color-ink-s) 30%);

    --color-border: var(--color-rule);
    --color-input-bg: var(--bg-surface);

    --shadow-sm: 0 1px 2px 0 hsl(0 0% 0% / 0.3);
    --shadow-md: 0 1px 3px 0 hsl(0 0% 0% / 0.4), 0 1px 2px -1px hsl(0 0% 0% / 0.4);
    --shadow-lg: 0 4px 6px -1px hsl(0 0% 0% / 0.4), 0 2px 4px -2px hsl(0 0% 0% / 0.4);
    --shadow-xl: 0 10px 15px -3px hsl(0 0% 0% / 0.5), 0 4px 6px -4px hsl(0 0% 0% / 0.5);
  }
}

[data-theme="dark"] {
  color-scheme: dark;

  --bg-paper: hsl(var(--color-ink-h) var(--color-ink-s) var(--color-ink-l-15));
  --bg-surface: hsl(var(--color-ink-h) var(--color-ink-s) 20%);
  --bg-subtle: hsl(var(--color-ink-h) var(--color-ink-s) 25%);

  --color-ink: hsl(var(--color-paper-h) var(--color-paper-s) var(--color-paper-l-98));
  --color-ink-muted: hsl(var(--color-paper-h) var(--color-paper-s) 70%);
  --color-ink-subtle: hsl(var(--color-paper-h) var(--color-paper-s) 60%);
  --color-ink-on-accent: hsl(var(--color-paper-h) var(--color-paper-s) var(--color-paper-l-99));

  --color-accent: hsl(var(--color-accent-h) var(--color-accent-s) var(--color-accent-l-50));
  --color-accent-hover: hsl(var(--color-accent-h) var(--color-accent-s) 60%);
  --color-accent-subtle: hsl(var(--color-accent-h) var(--color-accent-s) 25%);

  --color-rule: hsl(var(--color-ink-h) var(--color-ink-s) 25%);
  --color-rule-strong: hsl(var(--color-ink-h) var(--color-ink-s) 30%);

  --color-border: var(--color-rule);
  --color-input-bg: var(--bg-surface);

  --shadow-sm: 0 1px 2px 0 hsl(0 0% 0% / 0.3);
  --shadow-md: 0 1px 3px 0 hsl(0 0% 0% / 0.4), 0 1px 2px -1px hsl(0 0% 0% / 0.4);
  --shadow-lg: 0 4px 6px -1px hsl(0 0% 0% / 0.4), 0 2px 4px -2px hsl(0 0% 0% / 0.4);
  --shadow-xl: 0 10px 15px -3px hsl(0 0% 0% / 0.5), 0 4px 6px -4px hsl(0 0% 0% / 0.4);
}
