/* ═══════════════════════════════════════════════════════════
   1oh7 DESIGN TOKENS — v1.0
   Single source of truth for all visual properties.
   Every component references these variables.
   ═══════════════════════════════════════════════════════════ */

:root {
    /* ── Brand Colors ── */
    --brand-cyan: #22d3ee;
    --brand-gold: #fbbf24;
    --brand-purple: #6366f1;

    /* ── Semantic Colors ── */
    --color-primary: #6366f1;
    --color-primary-hover: #4f46e5;
    --color-accent: #22d3ee;
    --color-success: #4ade80;
    --color-warning: #fbbf24;
    --color-danger: #f87171;
    --color-info: #60a5fa;

    /* ── Light Theme (default for app pages) ── */
    --bg-app: #f5f5f7;
    --bg-surface: #ffffff;
    --bg-surface-hover: #fafafa;
    --bg-surface-alt: #f0f0f5;
    --bg-inset: #e8e8ee;

    --text-primary: #1a1a2e;
    --text-secondary: #4b5563;
    --text-muted: #9ca3af;
    --text-inverse: #e2e8f0;

    --border-light: #e5e7eb;
    --border-medium: #d1d5db;
    --border-dark: #333;

    /* ── Dark Theme (for landing pages + dark cards) ── */
    --dark-bg: #0a0a1a;
    --dark-surface: #1a1a2e;
    --dark-surface-hover: #2a2a4a;
    --dark-border: #2d2d50;
    --dark-text: #e2e8f0;
    --dark-text-muted: #94a3b8;

    /* ── Spacing Scale (8px base) ── */
    --sp-xs: 4px;
    --sp-sm: 8px;
    --sp-md: 12px;
    --sp-base: 16px;
    --sp-lg: 24px;
    --sp-xl: 32px;
    --sp-2xl: 48px;

    /* ── Border Radius ── */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 22px;
    --radius-pill: 999px;

    /* ── Shadows ── */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 2px 8px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
    --shadow-xl: 0 12px 40px rgba(0,0,0,0.16);

    /* ── Typography ── */
    --font-main: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'JetBrains Mono', monospace;

    --text-xs: 0.72em;
    --text-sm: 0.82em;
    --text-base: 0.92em;
    --text-md: 1em;
    --text-lg: 1.15em;
    --text-xl: 1.4em;
    --text-2xl: 1.8em;
    --text-3xl: 2.4em;

    --weight-normal: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;

    /* ── Layout ── */
    --content-max: 680px;
    --content-padding: 16px;
    --nav-height-top: 48px;
    --nav-height-bottom: 56px;

    /* ── Transitions ── */
    --ease-default: 0.2s ease;
    --ease-spring: 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ── Dark page override (landing pages) ── */
body:not(.theme-light) {
    --bg-app: #0a0a1a;
    --bg-surface: #1a1a2e;
    --bg-surface-hover: #2a2a4a;
    --bg-inset: #0f0f23;
    --text-primary: #e2e8f0;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --border-light: #2d2d50;
    --border-medium: #444;
}
