/*
 * Wishly Design Tokens
 * Dark mode is default (premium feel). Light mode via [data-theme="light"].
 */

/* ── Self-hosted Inter Variable Font ─────────── */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url('../fonts/inter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url('../fonts/inter-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    /* ── Colors (Dark Mode Default) ────────────────── */
    --w-bg-primary: #0a0a0b;
    --w-bg-secondary: #111113;
    --w-bg-tertiary: #1a1a1f;
    --w-bg-card: rgba(255, 255, 255, 0.04);
    --w-bg-card-hover: rgba(255, 255, 255, 0.07);
    --w-bg-glass: rgba(255, 255, 255, 0.06);
    --w-bg-glass-hover: rgba(255, 255, 255, 0.1);
    --w-bg-input: rgba(255, 255, 255, 0.05);

    --w-border-primary: rgba(255, 255, 255, 0.08);
    --w-border-secondary: rgba(255, 255, 255, 0.12);
    --w-border-focus: rgba(124, 58, 237, 0.5);

    --w-text-primary: #f5f5f7;
    --w-text-secondary: #a1a1aa;
    --w-text-tertiary: #8a8a95;
    --w-text-inverse: #0a0a0b;

    /* ── Accent Colors ─────────────────────────────── */
    --w-accent: #7c3aed;
    --w-accent-hover: #6d28d9;
    --w-accent-light: rgba(124, 58, 237, 0.15);
    --w-accent-glow: rgba(124, 58, 237, 0.4);
    --w-accent-readable: #a78bfa;   /* light purple — readable on dark backgrounds */

    --w-success: #10b981;
    --w-success-light: rgba(16, 185, 129, 0.15);
    --w-warning: #f59e0b;
    --w-warning-light: rgba(245, 158, 11, 0.15);
    --w-error: #ef4444;
    --w-error-light: rgba(239, 68, 68, 0.15);
    --w-info: #3b82f6;
    --w-info-light: rgba(59, 130, 246, 0.15);

    /* ── Rarity Colors ─────────────────────────────── */
    --w-rarity-common: #9ca3af;
    --w-rarity-uncommon: #10b981;
    --w-rarity-rare: #3b82f6;
    --w-rarity-epic: #8b5cf6;
    --w-rarity-legendary: #f59e0b;

    /* ── Gradients ─────────────────────────────────── */
    --w-gradient-primary: linear-gradient(135deg, #7c3aed 0%, #2563eb 100%);
    --w-gradient-secondary: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);
    --w-gradient-success: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
    --w-gradient-gold: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
    --w-gradient-card: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%);
    --w-gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(124, 58, 237, 0.15) 0%, transparent 60%);
    --w-gradient-mesh:
        radial-gradient(at 20% 20%, rgba(124, 58, 237, 0.1) 0%, transparent 50%),
        radial-gradient(at 80% 80%, rgba(37, 99, 235, 0.08) 0%, transparent 50%),
        radial-gradient(at 50% 50%, rgba(236, 72, 153, 0.05) 0%, transparent 50%);

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

    --w-text-xs: 0.75rem;
    --w-text-sm: 0.875rem;
    --w-text-base: 1rem;
    --w-text-lg: 1.125rem;
    --w-text-xl: 1.25rem;
    --w-text-2xl: 1.5rem;
    --w-text-3xl: 1.875rem;
    --w-text-4xl: 2.25rem;
    --w-text-5xl: 3rem;
    --w-text-6xl: 3.75rem;
    --w-text-7xl: 4.5rem;

    --w-leading-tight: 1.15;
    --w-leading-snug: 1.3;
    --w-leading-normal: 1.5;
    --w-leading-relaxed: 1.65;

    --w-tracking-tight: -0.02em;
    --w-tracking-normal: 0;
    --w-tracking-wide: 0.05em;
    --w-tracking-wider: 0.1em;

    /* ── Spacing (4px base) ────────────────────────── */
    --w-space-0: 0;
    --w-space-1: 0.25rem;
    --w-space-2: 0.5rem;
    --w-space-3: 0.75rem;
    --w-space-4: 1rem;
    --w-space-5: 1.25rem;
    --w-space-6: 1.5rem;
    --w-space-8: 2rem;
    --w-space-10: 2.5rem;
    --w-space-12: 3rem;
    --w-space-16: 4rem;
    --w-space-20: 5rem;
    --w-space-24: 6rem;
    --w-space-32: 8rem;

    /* ── Border Radius ─────────────────────────────── */
    --w-radius-sm: 0.375rem;
    --w-radius-md: 0.5rem;
    --w-radius-lg: 0.75rem;
    --w-radius-xl: 1rem;
    --w-radius-2xl: 1.25rem;
    --w-radius-3xl: 1.5rem;
    --w-radius-full: 9999px;

    /* ── Shadows ────────────────────────────────────── */
    --w-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --w-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --w-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
    --w-shadow-xl: 0 16px 64px rgba(0, 0, 0, 0.6);
    --w-shadow-glow: 0 0 40px var(--w-accent-glow);
    --w-shadow-glow-sm: 0 0 20px var(--w-accent-glow);

    /* ── Glass Effect ──────────────────────────────── */
    --w-glass-blur: blur(20px);
    --w-glass-saturate: saturate(180%);
    --w-glass-backdrop: blur(20px) saturate(180%);

    /* ── Transitions ───────────────────────────────── */
    --w-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --w-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --w-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

    --w-duration-fast: 150ms;
    --w-duration-base: 250ms;
    --w-duration-slow: 400ms;
    --w-duration-slower: 600ms;

    --w-transition-fast: var(--w-duration-fast) var(--w-ease-out);
    --w-transition-base: var(--w-duration-base) var(--w-ease-out);
    --w-transition-slow: var(--w-duration-slow) var(--w-ease-out);

    /* ── Layout ────────────────────────────────────── */
    --w-container-max: 1250px;
    --w-container-padding: var(--w-space-6);
    --w-header-height: 72px;

    /* ── Z-Index ───────────────────────────────────── */
    --w-z-base: 1;
    --w-z-dropdown: 10;
    --w-z-sticky: 20;
    --w-z-header: 30;
    --w-z-overlay: 40;
    --w-z-modal: 50;
    --w-z-toast: 60;
}

/* ── Light Mode Overrides ──────────────────────────── */
[data-theme="light"] {
    --w-bg-primary: #fafafa;
    --w-bg-secondary: #f4f4f5;
    --w-bg-tertiary: #e4e4e7;
    --w-bg-card: rgba(0, 0, 0, 0.03);
    --w-bg-card-hover: rgba(0, 0, 0, 0.06);
    --w-bg-glass: rgba(255, 255, 255, 0.7);
    --w-bg-glass-hover: rgba(255, 255, 255, 0.85);
    --w-bg-input: rgba(0, 0, 0, 0.04);

    --w-border-primary: rgba(0, 0, 0, 0.08);
    --w-border-secondary: rgba(0, 0, 0, 0.12);

    --w-text-primary: #18181b;
    --w-text-secondary: #3f3f46;
    --w-text-tertiary: #71717a;
    --w-text-inverse: #f5f5f7;
    --w-accent-readable: #6d28d9;   /* darker purple — readable on light backgrounds */

    --w-gradient-hero: radial-gradient(ellipse at 50% 0%, rgba(124, 58, 237, 0.08) 0%, transparent 60%);
    --w-gradient-card: linear-gradient(135deg, rgba(0,0,0,0.03) 0%, rgba(0,0,0,0.01) 100%);

    --w-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
    --w-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --w-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
    --w-shadow-xl: 0 16px 64px rgba(0, 0, 0, 0.16);
}
