/* ============================================================================
 * Shared design tokens — light editorial workspace default
 *
 * Legacy names are intentionally kept: the static pages and their generated
 * markup depend on these aliases. The `.dark` class remains a compatibility
 * hook, but the product default is now a calm light surface.
 * ========================================================================== */
:root{
  --bs-body-bg:#f7f8fa;
  --bs-body-bg-rgb:247,248,250;
  --bs-body-color:#1b2430;
  --bs-body-color-rgb:27,36,48;
  --bs-emphasis-color:#111827;
  --bs-secondary-color:rgba(71,85,105,.82);
  --bs-secondary-bg:#ffffff;
  --bs-secondary-bg-rgb:255,255,255;
  --bs-tertiary-color:rgba(71,85,105,.62);
  --bs-tertiary-bg:#eef1f6;
  --bs-tertiary-bg-rgb:238,241,246;
  --bs-border-color:#dfe4ec;
  --bs-border-color-translucent:rgba(15,23,42,.10);
  --bs-heading-color:inherit;
  --bs-code-color:#b42365;
  --bs-highlight-color:#1b2430;
  --bs-highlight-bg:#fff3cd;

  --bs-success-text-emphasis:#087443;
  --bs-info-text-emphasis:#075985;
  --bs-warning-text-emphasis:#9a6700;
  --bs-danger-text-emphasis:#b42335;
  --bs-success-bg-subtle:#e9f8f0;
  --bs-warning-bg-subtle:#fff8df;
  --bs-danger-bg-subtle:#fff0f1;
  --bs-success-border-subtle:#a7e3c2;
  --bs-warning-border-subtle:#f2d37d;
  --bs-danger-border-subtle:#f0b4bb;

  --bs-primary:#7557e8;
  --bs-primary-rgb:117,87,232;
  --bs-primary-text-emphasis:#5940bd;
  --bs-primary-bg-subtle:rgba(117,87,232,.10);
  --bs-primary-border-subtle:rgba(117,87,232,.30);
  --bs-link-color:#6346d3;
  --bs-link-hover-color:#4d35ad;
  --bs-link-color-rgb:99,70,211;

  --bs-border-width:1px;
  --bs-border-radius-sm:7px;
  --bs-border-radius:10px;
  --bs-border-radius-lg:14px;
  --bs-border-radius-xl:18px;
  --bs-border-radius-xxl:28px;
  --bs-border-radius-pill:999px;
  --bs-font-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --bs-font-monospace:"JetBrains Mono","SFMono-Regular",Consolas,"Courier New",monospace;
  --bs-body-font-size:14px;
  --bs-body-line-height:1.6;
  --bs-body-font-weight:400;
  --bs-control-h-sm:32px;
  --bs-control-h:40px;
  --bs-control-h-lg:48px;
  --bs-focus-ring-width:3px;
  --bs-focus-ring-color:rgba(117,87,232,.22);
  --bs-box-shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --bs-box-shadow:0 6px 20px rgba(15,23,42,.07);
  --bs-box-shadow-lg:0 18px 46px rgba(15,23,42,.12);
  --bs-box-shadow-inset:inset 0 1px 2px rgba(15,23,42,.06);
  --bs-success:#159a5b;
  --bs-warning:#d18b00;
  --bs-danger:#d6455d;
  --bs-info:#1595c5;

  --accent:var(--bs-primary);
  --accent-light:#8b75ee;
  --accent-dark:#5940bd;
  --accent-soft:var(--bs-primary-bg-subtle);
  --accent-soft-2:rgba(117,87,232,.16);
  --accent-gradient:linear-gradient(135deg,#8065ed,#6848d0);
  --accent-gradient-soft:rgba(117,87,232,.10);
  --cyan:var(--bs-info);--cyan-deep:#0e7490;
  --gold:var(--bs-warning);--gold-deep:#a66d00;
  --green:var(--bs-success);--orange:#d97706;--red:var(--bs-danger);--red-badge:#d6455d;--blue:#3575d3;

  --bg-primary:var(--bs-body-bg);--bg-white:var(--bs-secondary-bg);--bg-card:var(--bs-secondary-bg);
  --bg-subtle:var(--bs-tertiary-bg);--bg-hover:#f0f2f7;--bg-tag:#e8ecf3;
  --text-primary:var(--bs-body-color);--text-secondary:var(--bs-secondary-color);
  --text-muted:rgba(71,85,105,.70);--text-faint:rgba(71,85,105,.54);
  --border-color:var(--bs-border-color);--border-light:rgba(15,23,42,.08);--border-strong:#bdc6d4;

  --dark-bg:#f7f8fa;--dark-bg-2:#eef1f6;--dark-panel:#fff;--dark-panel-2:#eef1f6;--dark-line:var(--bs-border-color);--dark-text:#1b2430;--dark-muted:var(--bs-secondary-color);
  --radius-sm:var(--bs-border-radius-sm);--radius-md:var(--bs-border-radius);--radius-lg:var(--bs-border-radius-lg);--radius-xl:var(--bs-border-radius-xl);--radius-full:var(--bs-border-radius-pill);
  --shadow-sm:var(--bs-box-shadow-sm);--shadow-md:var(--bs-box-shadow);--shadow-lg:var(--bs-box-shadow-lg);--shadow-xl:0 26px 70px rgba(15,23,42,.16);--shadow-accent:0 6px 18px rgba(117,87,232,.20);
  --ease:cubic-bezier(.66,0,.34,1);--ease-out:cubic-bezier(.16,1,.3,1);--time:.25s;--time-fast:.15s;
  --header-h:64px;--page-header-height:80px;
  --font-sans:var(--bs-font-sans-serif);--font-mono:var(--bs-font-monospace);--font-script:"Courier New",Courier,monospace;
  --z-nav:50;--z-drawer:80;--z-modal:100;--z-toast:120;
  color-scheme:light;
}

/* Optional compatibility mode: existing body.dark markup still receives a
   coherent theme if another page keeps the class. */
body.dark{background:var(--bs-body-bg);color:var(--bs-body-color);}
body.dark::before{background-image:none !important;}
