/**
 * base.css — KBNX Design Tokens (Light Mode Defaults)
 *
 * Global and block-specific CSS custom properties.
 * These tokens are consumed by all kbnx blocks and can be
 * overridden by themes via theme.json custom values.
 */

:root {
    /* === Global Tokens === */

    /* Colors */
    --kbnx-color-primary: #1e3a5f;
    --kbnx-color-primary-hover: #163050;
    --kbnx-color-bg: #ffffff;
    --kbnx-color-fg: #1a1a1a;
    --kbnx-color-surface: #f8f9fa;
    --kbnx-color-border: #e0e0e0;
    --kbnx-color-muted: #666666;
    --kbnx-color-link: #1e3a5f;
    --kbnx-color-link-hover: #163050;
    --kbnx-color-link-visited: #4a2080;

    /* Typography */
    --kbnx-font-size-xs: 0.75rem;
    --kbnx-font-size-sm: 0.875rem;
    --kbnx-font-size-base: 1rem;
    --kbnx-font-size-lg: 1.125rem;
    --kbnx-font-size-xl: 1.25rem;
    --kbnx-font-weight-normal: 400;
    --kbnx-font-weight-medium: 500;
    --kbnx-font-weight-bold: 700;

    /* Spacing */
    --kbnx-space-1: 0.25rem;
    --kbnx-space-2: 0.5rem;
    --kbnx-space-3: 0.75rem;
    --kbnx-space-4: 1rem;
    --kbnx-space-6: 1.5rem;
    --kbnx-space-8: 2rem;

    /* Border radius */
    --kbnx-radius-sm: 0.25rem;
    --kbnx-radius-md: 0.5rem;
    --kbnx-radius-lg: 0.75rem;

    /* Transitions */
    --kbnx-transition-fast: 150ms ease;
    --kbnx-transition-normal: 250ms ease;

    /* === FAQ Block Tokens === */
    --kbnx-faq-border: #e0e0e0;
    --kbnx-faq-bg-expanded: #f8f9fa;
    --kbnx-faq-icon-color: #666666;
    --kbnx-faq-question-color: #1a1a1a;
    --kbnx-faq-answer-color: #333333;

    /* === Code Snippet Block Tokens === */
    --kbnx-code-bg: #f5f5f5;
    --kbnx-code-fg: #333333;
    --kbnx-code-line-highlight: rgba(255, 255, 0, 0.1);
    --kbnx-code-border: #e0e0e0;
    --kbnx-code-header-bg: #e8e8e8;
    --kbnx-code-copy-bg: transparent;
    --kbnx-code-copy-hover: #e0e0e0;

    /* === Notice Block Tokens === */
    --kbnx-notice-info-bg: #e3f2fd;
    --kbnx-notice-info-border: #2196f3;
    --kbnx-notice-info-icon: #1976d2;
    --kbnx-notice-info-fg: #0d47a1;

    --kbnx-notice-warning-bg: #fff8e1;
    --kbnx-notice-warning-border: #ff9800;
    --kbnx-notice-warning-icon: #f57c00;
    --kbnx-notice-warning-fg: #bf4000;

    --kbnx-notice-error-bg: #fce4ec;
    --kbnx-notice-error-border: #f44336;
    --kbnx-notice-error-icon: #d32f2f;
    --kbnx-notice-error-fg: #b71c1c;

    --kbnx-notice-success-bg: #e8f5e9;
    --kbnx-notice-success-border: #4caf50;
    --kbnx-notice-success-icon: #388e3c;
    --kbnx-notice-success-fg: #1b5e20;

    /* === Social Share Block Tokens === */
    --kbnx-share-icon-size: 24px;
    --kbnx-share-gap: 8px;
    --kbnx-share-icon-color: #555555;
    --kbnx-share-icon-hover: #1a1a1a;

    /* === Reading Progress Block Tokens === */
    --kbnx-progress-color: var(--kbnx-color-primary);
    --kbnx-progress-bg: transparent;
    --kbnx-progress-height: 4px;
}
