/*
 * INSVISION design tokens.
 *
 * This file is intentionally not enqueued yet. It defines the shared visual
 * language that future cleaned-up modules can consume without copying homepage
 * patches or legacy Dongli selectors.
 */

:root {
    /* Brand palette, derived from the current CN homepage direction. */
    --insv-ds-color-brand: #183883;
    --insv-ds-color-brand-hover: #0f2a6a;
    --insv-ds-color-accent: #00a7ec;
    --insv-ds-color-link: #0057a0;

    /* Neutral text and surfaces. */
    --insv-ds-color-text: #1a2440;
    --insv-ds-color-text-strong: #17213a;
    --insv-ds-color-text-muted: #6b7788;
    --insv-ds-color-text-soft: #8a96a8;
    --insv-ds-color-surface: #ffffff;
    --insv-ds-color-surface-soft: #f6f9fb;
    --insv-ds-color-surface-tint: #f4f8ff;
    --insv-ds-color-border: #dbe6f5;
    --insv-ds-color-border-soft: #e7edf5;

    /* Typography. Keep page-specific selectors from choosing new font stacks. */
    --insv-ds-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    --insv-ds-font-cn: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
    --insv-ds-font-weight-regular: 400;
    --insv-ds-font-weight-medium: 500;
    --insv-ds-font-weight-semibold: 600;
    --insv-ds-font-weight-bold: 700;
    --insv-ds-font-weight-heavy: 800;

    /* Type scale for future cleaned modules. */
    --insv-ds-text-xs: 12px;
    --insv-ds-text-sm: 14px;
    --insv-ds-text-md: 16px;
    --insv-ds-text-lg: 18px;
    --insv-ds-text-xl: 22px;
    --insv-ds-text-h3: 26px;
    --insv-ds-text-h2: 32px;
    --insv-ds-text-h1: 40px;
    --insv-ds-line-tight: 1.2;
    --insv-ds-line-heading: 1.25;
    --insv-ds-line-body: 1.6;

    /* Layout widths. */
    --insv-ds-container-wide: 1360px;
    --insv-ds-container-content: 1200px;
    --insv-ds-container-narrow: 960px;
    --insv-ds-container-gutter: 5vw;
    --insv-ds-container-gutter-mobile: 20px;

    /* Spacing scale. */
    --insv-ds-space-2xs: 4px;
    --insv-ds-space-xs: 8px;
    --insv-ds-space-sm: 12px;
    --insv-ds-space-md: 16px;
    --insv-ds-space-lg: 24px;
    --insv-ds-space-xl: 32px;
    --insv-ds-space-2xl: 48px;
    --insv-ds-space-3xl: 72px;
    --insv-ds-section-padding-y: 64px;
    --insv-ds-section-padding-y-mobile: 40px;

    /* Shape and elevation. */
    --insv-ds-radius-xs: 4px;
    --insv-ds-radius-sm: 6px;
    --insv-ds-radius-md: 8px;
    --insv-ds-radius-lg: 12px;
    --insv-ds-radius-xl: 20px;
    --insv-ds-radius-pill: 999px;
    --insv-ds-shadow-card: 0 8px 24px rgba(24, 56, 131, 0.08);
    --insv-ds-shadow-card-hover: 0 14px 32px rgba(24, 56, 131, 0.14);
    --insv-ds-shadow-panel: 0 18px 44px rgba(20, 36, 68, 0.16);

    /* Motion. */
    --insv-ds-transition-fast: 0.15s ease;
    --insv-ds-transition-base: 0.2s ease;
    --insv-ds-transition-slow: 0.35s ease;

    /* Component defaults for future modules. */
    --insv-ds-button-height: 44px;
    --insv-ds-button-padding-x: 28px;
    --insv-ds-card-padding: 24px;
    --insv-ds-card-gap: 24px;
}
