/*
Theme Name: Vertex Nexus 360 Child
Theme URI: https://vertexnexus.com
Description: Child theme for Vertex Nexus 360 — Infinite-plane navigation system with 8-mode state architecture
Author: Vertex Nexus
Author URI: https://vertexnexus.com
Template: generatepress
Version: 1.0.0
License: Proprietary
Text Domain: vertex-nexus-child

FILE: style.css
RESPONSIBILITY: Child theme declaration + Design tokens only
PHASE: A1 — CHILD THEME FOUNDATION
ROLE: Design system foundation (no layout, no components)
*/

/* ============================================================================
   DESIGN TOKENS — VERTEX NEXUS 360
   ============================================================================
   Purpose: Single source of truth for all design values
   Scope: Colors, Typography, Spacing, Timing, Shadows, Borders
   Usage: Referenced by layout.css, modes.css, and JavaScript
   ========================================================================= */

:root {
    /* -------------------------------------------------------------------------
     COLOR SYSTEM (CANONICAL - LOCKED)
     ------------------------------------------------------------------------- */

    /* Brand Colors (Primary & Accents) */
    --primary: #FE4A49;
    /* Logo, primary CTAs, active nav state */
    --primary-dark: #E63946;
    /* Hover/active states */
    --accent: #2AB7CA;
    /* Secondary CTAs, flow, connection */
    --accent-light: #FED766;
    /* Alerts, highlights, attention */

    /* Neutrals & Interface */
    --text-main: #1a1a1a;
    /* Headlines, body copy */
    --text-muted: #555555;
    /* Subheads, captions */
    --bg-light: #f8f9fa;
    /* Section separation, soft panels */
    --bg-dark: #0d1117;
    /* Protocol / Governance mode exclusive */
    --white: #ffffff;
    /* Main surface / Canvas */

    /* Legacy/Semantic Mappings (for backward compatibility with components) */
    --color-black: #000000;
    --color-white: var(--white);
    --color-brand-primary: var(--primary);
    --color-brand-secondary: var(--primary-dark);
    --color-brand-accent: var(--accent);

    --color-surface-primary: var(--white);
    --color-surface-secondary: var(--bg-light);
    --color-surface-dark: var(--bg-dark);

    --color-text-primary: var(--text-main);
    --color-text-secondary: var(--text-muted);
    --color-text-inverse: var(--white);

    --color-interactive-default: var(--primary);
    --color-interactive-hover: var(--primary-dark);
    --color-interactive-active: var(--primary-dark);

    /* Mode-to-Color Mapping (System Rule) */
    /* Rule: Only one dominant color per mode */
    --color-mode-nexus: var(--primary);
    /* Red */
    --color-mode-operations: var(--accent);
    /* Teal */
    --color-mode-services: var(--accent);
    /* Teal */
    --color-mode-industries: var(--primary);
    /* Red (restrained) */
    --color-mode-protocol: var(--bg-dark);
    /* Dark Mode (Special) */
    --color-mode-trust: var(--accent-light);
    /* Yellow (minimal) */
    --color-mode-engage: var(--primary);
    /* Red (invitation) */

    /* Protocol Mode Specifics */
    --protocol-highlight: var(--primary);

    /* -------------------------------------------------------------------------
     TYPOGRAPHY
     ------------------------------------------------------------------------- */

    /* Font Families */
    --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;

    /* Font Sizes */
    --font-size-xs: 0.75rem;
    /* 12px */
    --font-size-sm: 0.875rem;
    /* 14px */
    --font-size-base: 1rem;
    /* 16px */
    --font-size-lg: 1.125rem;
    /* 18px */
    --font-size-xl: 1.25rem;
    /* 20px */
    --font-size-2xl: 1.5rem;
    /* 24px */
    --font-size-3xl: 1.875rem;
    /* 30px */
    --font-size-4xl: 2.25rem;
    /* 36px */
    --font-size-5xl: 3rem;
    /* 48px */
    --font-size-6xl: 3.75rem;
    /* 60px */
    --font-size-7xl: 4.5rem;
    /* 72px */

    /* Font Weights */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Line Heights */
    --line-height-tight: 1.25;
    --line-height-snug: 1.375;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;
    --line-height-loose: 2;

    /* Letter Spacing */
    --letter-spacing-tight: -0.025em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.025em;
    --letter-spacing-wider: 0.05em;
    --letter-spacing-widest: 0.1em;

    /* -------------------------------------------------------------------------
     SPACING SYSTEM
     ------------------------------------------------------------------------- */

    --space-0: 0;
    --space-1: 0.25rem;
    /* 4px */
    --space-2: 0.5rem;
    /* 8px */
    --space-3: 0.75rem;
    /* 12px */
    --space-4: 1rem;
    /* 16px */
    --space-5: 1.25rem;
    /* 20px */
    --space-6: 1.5rem;
    /* 24px */
    --space-8: 2rem;
    /* 32px */
    --space-10: 2.5rem;
    /* 40px */
    --space-12: 3rem;
    /* 48px */
    --space-16: 4rem;
    /* 64px */
    --space-20: 5rem;
    /* 80px */
    --space-24: 6rem;
    /* 96px */
    --space-32: 8rem;
    /* 128px */
    --space-40: 10rem;
    /* 160px */
    --space-48: 12rem;
    /* 192px */
    --space-56: 14rem;
    /* 224px */
    --space-64: 16rem;
    /* 256px */

    /* -------------------------------------------------------------------------
     LAYOUT CONSTRAINTS
     ------------------------------------------------------------------------- */

    --max-width-xs: 20rem;
    /* 320px */
    --max-width-sm: 24rem;
    /* 384px */
    --max-width-md: 28rem;
    /* 448px */
    --max-width-lg: 32rem;
    /* 512px */
    --max-width-xl: 36rem;
    /* 576px */
    --max-width-2xl: 42rem;
    /* 672px */
    --max-width-3xl: 48rem;
    /* 768px */
    --max-width-4xl: 56rem;
    /* 896px */
    --max-width-5xl: 64rem;
    /* 1024px */
    --max-width-6xl: 72rem;
    /* 1152px */
    --max-width-7xl: 80rem;
    /* 1280px */
    --max-width-full: 100%;

    /* -------------------------------------------------------------------------
     TIMING & EASING
     ------------------------------------------------------------------------- */

    /* Durations */
    --duration-instant: 0ms;
    --duration-fast: 150ms;
    --duration-normal: 250ms;
    --duration-slow: 350ms;
    --duration-slower: 500ms;
    --duration-slowest: 750ms;

    /* Easing Functions */
    --ease-linear: linear;
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-elastic: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --ease-smooth: cubic-bezier(0.25, 0.1, 0.25, 1);

    /* -------------------------------------------------------------------------
     ELEVATION & SHADOWS
     ------------------------------------------------------------------------- */

    --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 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);

    /* -------------------------------------------------------------------------
     BORDERS & RADIUS
     ------------------------------------------------------------------------- */

    --border-width-0: 0;
    --border-width-1: 1px;
    --border-width-2: 2px;
    --border-width-4: 4px;
    --border-width-8: 8px;

    --radius-none: 0;
    --radius-sm: 0.125rem;
    /* 2px */
    --radius-md: 0.25rem;
    /* 4px */
    --radius-lg: 0.5rem;
    /* 8px */
    --radius-xl: 0.75rem;
    /* 12px */
    --radius-2xl: 1rem;
    /* 16px */
    --radius-3xl: 1.5rem;
    /* 24px */
    --radius-full: 9999px;

    /* -------------------------------------------------------------------------
     Z-INDEX LAYERS
     ------------------------------------------------------------------------- */

    --z-base: 0;
    --z-dropdown: 1000;
    --z-sticky: 1100;
    --z-fixed: 1200;
    --z-modal-backdrop: 1300;
    --z-modal: 1400;
    --z-popover: 1500;
    --z-tooltip: 1600;
    --z-notification: 1700;
    --z-nav: 9000;
    --z-max: 9999;

    /* -------------------------------------------------------------------------
     BREAKPOINTS (for reference in JavaScript)
     ------------------------------------------------------------------------- */

    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;
}

/* ============================================================================
   END OF DESIGN TOKENS
   ============================================================================
   
   CRITICAL RULES:
   ✓ This file contains ONLY design tokens and child theme declaration
   ✗ NO layout rules
   ✗ NO component styles
   ✗ NO structural CSS
   
   Layout implementation → base.css, layout.css
   Component styling → modes.css
   State logic → state.js
   ========================================================================= */