/* ==========================================
   Cathedral Portal - CSS Variables
   Extensions and overrides for pulseboard base
   ========================================== */

:root {
    /* ------------------------------------------
       Color Palette (inherited from pulseboard)
       ------------------------------------------ */
    --noir: #0a0a0a;
    --charcoal: #1a1a1a;
    --slate: #2d2d2d;
    --stone: #6b6b6b;
    --pearl: #e8e8e8;
    --cream: #f8f8f8;
    --blanc: #ffffff;

    /* Accent Colors */
    --sage: #000000;
    --sage-light: #333333;
    --sage-dark: #000000;
    --clay: #b88b7d;
    --sand: #a89886;
    --amber: #c4a05a;

    /* Semantic Colors */
    --primary: var(--sage);
    --primary-hover: var(--sage-dark);
    --primary-light: var(--sage-light);
    --secondary: var(--clay);
    --accent: var(--amber);

    /* Status Colors */
    --success: #4ade80;
    --success-bg: rgba(74, 222, 128, 0.1);
    --warning: #fbbf24;
    --warning-bg: rgba(251, 191, 36, 0.1);
    --error: #f87171;
    --error-bg: rgba(248, 113, 113, 0.1);
    --info: #60a5fa;
    --info-bg: rgba(96, 165, 250, 0.1);

    /* ------------------------------------------
       Spacing (8pt grid system)
       ------------------------------------------ */
    --space-0: 0;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;
    --space-24: 96px;
    --space-32: 128px;

    /* ------------------------------------------
       Typography
       ------------------------------------------ */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

    /* Font Sizes */
    --text-xs: 12px;
    --text-sm: 14px;
    --text-base: 16px;
    --text-lg: 18px;
    --text-xl: 20px;
    --text-2xl: 24px;
    --text-3xl: 28px;
    --text-4xl: 32px;
    --text-5xl: 40px;
    --text-6xl: 48px;

    /* Line Heights */
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;

    /* Font Weights */
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;

    /* Letter Spacing */
    --tracking-tight: -0.02em;
    --tracking-normal: 0;
    --tracking-wide: 0.02em;

    /* ------------------------------------------
       Borders & Radius
       ------------------------------------------ */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;

    --border-width: 1px;
    --border-color: var(--pearl);
    --border-color-dark: var(--slate);

    /* ------------------------------------------
       Shadows
       ------------------------------------------ */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

    /* Focus Ring */
    --ring-color: rgba(122, 155, 125, 0.5);
    --ring-offset: 2px;
    --ring-width: 3px;

    /* ------------------------------------------
       Transitions
       ------------------------------------------ */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
    --transition-slower: 500ms ease;

    /* ------------------------------------------
       Z-Index Scale
       ------------------------------------------ */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-popover: 600;
    --z-tooltip: 700;
    --z-toast: 800;

    /* ------------------------------------------
       Layout
       ------------------------------------------ */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1280px;
    --container-2xl: 1440px;

    --header-height: 72px;
    --sidebar-width: 260px;
    --sidebar-collapsed: 72px;

    /* ------------------------------------------
       Form Elements
       ------------------------------------------ */
    --input-height: 44px;
    --input-height-sm: 36px;
    --input-height-lg: 52px;
    --input-padding-x: var(--space-4);
    --input-bg: var(--blanc);
    --input-border: var(--pearl);
    --input-border-focus: var(--sage);
    --input-placeholder: var(--stone);

    /* ------------------------------------------
       Button Sizes
       ------------------------------------------ */
    --btn-height-sm: 32px;
    --btn-height-md: 40px;
    --btn-height-lg: 48px;
    --btn-padding-sm: var(--space-3) var(--space-4);
    --btn-padding-md: var(--space-3) var(--space-6);
    --btn-padding-lg: var(--space-4) var(--space-8);
}

/* Dark mode support (future) */
@media (prefers-color-scheme: dark) {
    :root {
        /* Can override variables for dark mode here */
    }
}
