/* ==========================================================================
   CSS Custom Properties - AppsLuna
   ========================================================================== */

:root {
    /* Colors - Base */
    --bg-primary: #0a0a0a;
    --bg-secondary: #111111;
    --bg-tertiary: #161616;
    --bg-card: #1a1a1a;
    --bg-card-hover: #1f1f1f;

    /* Colors - Text */
    --text-primary: #ffffff;
    --text-secondary: #a0a0a0;
    --text-muted: #666666;
    --text-subtle: #444444;

    /* Colors - Brand */
    --otter-color: #4FC3F7;
    --otter-color-light: #81D4FA;
    --otter-color-dark: #29B6F6;
    --wordwise-color: #7C3AED;
    --wordwise-color-light: #A78BFA;
    --wordwise-color-dark: #6D28D9;
    --mydoll-color: #EC4899;
    --mydoll-color-light: #F472B6;
    --mydoll-color-dark: #DB2777;

    /* Colors - Accent */
    --accent-success: #22c55e;
    --accent-warning: #f59e0b;
    --accent-error: #ef4444;

    /* Colors - Borders & Lines */
    --border-color: #2a2a2a;
    --border-color-light: #333333;
    --border-color-hover: #3a3a3a;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, var(--otter-color), var(--wordwise-color));
    --gradient-hero: linear-gradient(180deg, #1a1a2e 0%, var(--bg-primary) 100%);
    --gradient-glow-otter: radial-gradient(ellipse at center, rgba(79, 195, 247, 0.15) 0%, transparent 70%);
    --gradient-glow-wordwise: radial-gradient(ellipse at center, rgba(124, 58, 237, 0.15) 0%, transparent 70%);
    --gradient-glow-mydoll: radial-gradient(ellipse at center, rgba(236, 72, 153, 0.15) 0%, transparent 70%);
    --gradient-mesh:
        radial-gradient(ellipse at 20% 30%, rgba(124, 58, 237, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(79, 195, 247, 0.08) 0%, transparent 40%),
        radial-gradient(ellipse at 60% 80%, rgba(124, 58, 237, 0.06) 0%, transparent 50%);

    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
    --space-4xl: 6rem;
    --space-5xl: 8rem;

    /* Typography */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.5rem;
    --font-size-5xl: 3.5rem;
    --font-size-6xl: 4.5rem;

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

    --line-height-tight: 1.1;
    --line-height-snug: 1.3;
    --line-height-normal: 1.6;
    --line-height-relaxed: 1.8;

    /* Border Radius */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.6);
    --shadow-glow-otter: 0 0 40px rgba(79, 195, 247, 0.3);
    --shadow-glow-wordwise: 0 0 40px rgba(124, 58, 237, 0.3);
    --shadow-glow-mydoll: 0 0 40px rgba(236, 72, 153, 0.3);
    --shadow-glow-white: 0 10px 40px rgba(255, 255, 255, 0.1);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;
    --transition-bounce: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
    --transition-smooth: 600ms cubic-bezier(0.16, 1, 0.3, 1);

    /* Z-index layers */
    --z-base: 1;
    --z-dropdown: 10;
    --z-sticky: 50;
    --z-fixed: 100;
    --z-modal: 200;
    --z-tooltip: 300;

    /* Container widths */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1200px;
    --container-2xl: 1400px;

    /* Backdrop blur */
    --blur-sm: 8px;
    --blur-md: 16px;
    --blur-lg: 24px;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    :root {
        --transition-fast: 0ms;
        --transition-base: 0ms;
        --transition-slow: 0ms;
        --transition-bounce: 0ms;
        --transition-smooth: 0ms;
    }
}
