/* ================================================
   DESIGN TOKENS — Winup Blog (Dark Mode)
   Inspired by winup-lp dark futuristic aesthetic
   ================================================ */

:root {
    /* ── Brand Colors ── */
    --brand-green-400: #4ade80;
    --brand-green-500: #22c55e;
    --brand-green-600: #16a34a;
    --brand-emerald-400: #34d399;
    --brand-emerald-600: #059669;

    /* ── Primary (alias para brand) ── */
    --primary-color: #22c55e;

    /* ── Backgrounds (Dark Mode) ── */
    --color-bg: #030213;
    --color-bg-subtle: #0a0a1a;
    --color-bg-muted: #111127;
    --color-surface: #0d0d20;
    --color-surface-elevated: #141430;

    /* ── Text (Dark Mode) ── */
    --color-text: #f0f0f5;
    --color-text-secondary: rgba(255, 255, 255, 0.7);
    --color-text-muted: rgba(255, 255, 255, 0.45);

    /* ── Legacy aliases (backward compat) ── */
    --text-color: var(--color-text);
    --text-meta: var(--color-text-secondary);
    --bg-color: var(--color-bg);

    /* ── Borders (Dark Mode) ── */
    --color-border: rgba(255, 255, 255, 0.1);
    --color-border-subtle: rgba(255, 255, 255, 0.05);
    --border-color: var(--color-border);

    /* ── Semantic ── */
    --color-success: #22c55e;
    --color-destructive: #d4183d;
    --color-warning: #f59e0b;
    --color-info: #3b82f6;

    /* ── Typography ── */
    --font-heading: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

    /* ── Legacy aliases (font compat) ── */
    --font-serif: var(--font-heading);
    --font-wsj-title: var(--font-heading);
    --font-wsj-subtitle: var(--font-sans);
    --font-wsj-meta: var(--font-sans);
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.75rem;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.7;
    --tracking-tight: -0.025em;
    --tracking-normal: 0;
    --tracking-wide: 0.05em;

    /* ── Spacing ── */
    --sp-1: 0.25rem;
    --sp-2: 0.5rem;
    --sp-3: 0.75rem;
    --sp-4: 1rem;
    --sp-6: 1.5rem;
    --sp-8: 2rem;
    --sp-12: 3rem;
    --sp-16: 4rem;
    --sp-20: 5rem;
    --sp-24: 6rem;

    /* ── Layout ── */
    --max-width: 1180px;
    --container-narrow: 720px;
    --container-padding: 1rem;
    --tap-target: 44px;

    /* ── Radius (Rounded / Tech) ── */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius: 14px;
    --radius-lg: 18px;
    --radius-xl: 1.25rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;

    /* ── Shadows (Dark Mode with glow) ── */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.5);
    --shadow-glow: 0 0 30px rgba(34, 197, 94, 0.15);
    --shadow-glow-strong: 0 0 40px rgba(34, 197, 94, 0.4);

    /* ── Transitions ── */
    --transition-fast: 200ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;

    /* ── Gradients (Dark Mode) ── */
    --gradient-primary: linear-gradient(to right, #059669, #4ade80);
    --gradient-cta: linear-gradient(135deg, #059669, #22c55e);
    --gradient-newsletter: linear-gradient(135deg, rgba(5, 150, 105, 0.1) 0%, rgba(34, 197, 94, 0.08) 100%);

    /* ── Glass / Card surfaces ── */
    --glass-bg: rgba(255, 255, 255, 0.03);
    --glass-border: rgba(255, 255, 255, 0.08);
    --card-bg: rgba(255, 255, 255, 0.05);
    --card-border: rgba(255, 255, 255, 0.1);
    --card-hover-bg: rgba(255, 255, 255, 0.08);
}

/* ── Desktop Scale ── */
@media (min-width: 1024px) {
    :root {
        --text-base: 1.0625rem;
        --text-lg: 1.25rem;
        --text-xl: 1.5rem;
        --text-2xl: 2rem;
        --text-3xl: 2.5rem;
        --container-padding: 1.5rem;
    }
}

/* ── Selection (Dark Mode) ── */
::selection {
    background: rgba(34, 197, 94, 0.3);
    color: #bbf7d0;
}

::-moz-selection {
    background: rgba(34, 197, 94, 0.3);
    color: #bbf7d0;
}

/* ── Scroll Animations ── */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    will-change: transform, opacity;
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Hover Zoom ── */
.hover-zoom {
    overflow: hidden;
}

.hover-zoom img {
    transition: transform var(--transition-base);
}

.hover-zoom:hover img {
    transform: scale(1.03);
}
