/* ===== 7027A shared design tokens ===== */
:root {
  /* Brand */
  --color-accent: #2563eb;
  --color-accent-hover: #1d4ed8;
  --color-accent-soft: #eef2ff;
  --color-accent-ai: #4f46e5;
  --color-accent-ai-2: #7c3aed;
  --color-success: #15803d;
  --color-success-bg: #ecfdf3;
  --color-success-line: #bbf7d0;
  --color-danger: #b91c1c;
  --color-danger-bg: #fef2f2;
  --color-danger-line: #fecaca;
  --color-warning: #92400e;
  --color-warning-bg: #fffbeb;
  --color-warning-line: #fde68a;

  /* Surfaces (light) */
  --bg-page: #f6f7fb;
  --bg-page-grad:
    linear-gradient(120deg, rgba(37, 99, 235, 0.08), transparent 34%),
    linear-gradient(300deg, rgba(22, 163, 74, 0.07), transparent 32%),
    linear-gradient(180deg, #f8fbff 0%, #eef4ff 48%, #f7fff9 100%);
  --bg-elevated: #ffffff;
  --bg-muted: #f8fafc;
  --bg-soft: #f1f5f9;
  --bg-input: #ffffff;
  --bg-glass: rgba(255, 255, 255, 0.88);
  --border: #e2e8f0;
  --border-strong: #dbe3ef;
  --text: #111827;
  --text-soft: #334155;
  --text-muted: #64748b;
  --link: #1d4ed8;
  --shadow-sm: 0 10px 28px rgba(37, 99, 235, 0.08);
  --shadow-md: 0 14px 34px rgba(15, 23, 42, 0.10);
  --shadow-lg: 0 18px 45px rgba(20, 31, 56, 0.10);

  /* Geometry */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;
  --container: 1280px;
  --container-home: 1320px;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;

  /* AI islands (light) */
  --ai-bg: #eef2ff;
  --ai-bg-2: #f5f3ff;
  --ai-border: #c7d2fe;
  --ai-text: #1e1b4b;
  --ai-muted: #6366f1;
}

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

  --bg-page: #111113;
  --bg-page-grad:
    linear-gradient(120deg, rgba(255, 255, 255, 0.04), transparent 36%),
    linear-gradient(300deg, rgba(37, 99, 235, 0.06), transparent 40%),
    #111113;
  --bg-elevated: #1c1c1f;
  --bg-muted: #232328;
  --bg-soft: #2a2a30;
  --bg-input: #161618;
  --bg-glass: rgba(28, 28, 31, 0.96);
  --border: #2e2e34;
  --border-strong: #3a3a42;
  --text: #f8fafc;
  --text-soft: #e2e8f0;
  --text-muted: #94a3b8;
  --link: #93c5fd;
  --color-accent-soft: #2a2a2a;
  --color-success-bg: rgba(21, 128, 61, 0.18);
  --color-success-line: rgba(134, 239, 172, 0.28);
  --color-danger-bg: rgba(185, 28, 28, 0.18);
  --color-danger-line: rgba(252, 165, 165, 0.28);
  --color-warning-bg: rgba(120, 53, 15, 0.22);
  --color-warning-line: rgba(251, 191, 36, 0.38);
  --shadow-sm: 0 14px 34px rgba(0, 0, 0, 0.34);
  --shadow-md: 0 16px 40px rgba(0, 0, 0, 0.38);
  --shadow-lg: 0 22px 60px rgba(0, 0, 0, 0.42);

  /* AI islands (dark) */
  --ai-bg: #1e1b4b;
  --ai-bg-2: #312e81;
  --ai-border: #4338ca;
  --ai-text: #f5f3ff;
  --ai-muted: #c7d2fe;
}

/* Admin token aliases */
:root {
  --admin-max-width: var(--container);
  --admin-bg: var(--bg-page-grad);
  --admin-panel: var(--bg-elevated);
  --admin-panel-soft: var(--bg-muted);
  --admin-line: var(--border-strong);
  --admin-text: var(--text);
  --admin-text-soft: var(--text-soft);
  --admin-muted: var(--text-muted);
  --admin-accent: var(--color-accent);
  --admin-accent-hover: var(--color-accent-hover);
  --admin-input-bg: var(--bg-input);
  --admin-link: var(--link);
  --admin-shadow: var(--shadow-sm);
  --admin-header-shadow: 0 18px 40px rgba(37, 99, 235, 0.16);
  --admin-hover: var(--bg-soft);
  --admin-alert-bg: var(--color-warning-bg);
  --admin-alert-line: var(--color-warning-line);
  --admin-alert-text: var(--color-warning);
}

html[data-admin-theme="dark"] {
  --admin-header-shadow: 0 18px 40px rgba(0, 0, 0, 0.42);
}
