/*
PuntVault Enterprise UI Framework
Phase 4.1 - Global Design Tokens

Purpose:
- Standardize colors, typography, spacing, shadows, borders, and motion.
- Safe foundation only. Existing legacy/page CSS remains untouched.
*/

:root {
    /* Brand */
    --pv-green: #00e083;
    --pv-green-soft: rgba(0, 224, 131, 0.14);
    --pv-green-dark: #00b86b;

    --pv-gold: #ffd21f;
    --pv-gold-soft: rgba(255, 210, 31, 0.14);

    --pv-blue: #38bdf8;
    --pv-blue-soft: rgba(56, 189, 248, 0.14);

    --pv-danger: #ff4d4f;
    --pv-danger-soft: rgba(255, 77, 79, 0.14);

    --pv-warning: #f6c343;
    --pv-warning-soft: rgba(246, 195, 67, 0.14);

    --pv-success: var(--pv-green);
    --pv-success-soft: var(--pv-green-soft);

    /* Backgrounds */
    --pv-bg: #061019;
    --pv-bg-deep: #02070d;
    --pv-bg-soft: #0b1722;
    --pv-surface: rgba(255, 255, 255, 0.06);
    --pv-surface-strong: rgba(255, 255, 255, 0.10);
    --pv-surface-glass: linear-gradient(180deg, rgba(18, 27, 38, 0.96), rgba(10, 18, 28, 0.98));

    /* Borders */
    --pv-border: rgba(255, 255, 255, 0.12);
    --pv-border-soft: rgba(255, 255, 255, 0.08);
    --pv-border-strong: rgba(255, 255, 255, 0.20);
    --pv-border-gold: rgba(255, 210, 31, 0.28);
    --pv-border-green: rgba(0, 224, 131, 0.35);

    /* Text */
    --pv-text: #ffffff;
    --pv-text-soft: rgba(255, 255, 255, 0.82);
    --pv-muted: rgba(255, 255, 255, 0.68);
    --pv-text-muted: var(--pv-muted);
    --pv-faint: rgba(255, 255, 255, 0.48);

    /* Radius */
    --pv-radius-xs: 8px;
    --pv-radius-sm: 10px;
    --pv-radius-md: 16px;
    --pv-radius-lg: 24px;
    --pv-radius-xl: 32px;
    --pv-radius-pill: 999px;

    /* Shadows */
    --pv-shadow-xs: 0 6px 18px rgba(0, 0, 0, 0.20);
    --pv-shadow-soft: 0 12px 40px rgba(0, 0, 0, 0.28);
    --pv-shadow-card: 0 18px 55px rgba(0, 0, 0, 0.35);
    --pv-shadow-strong: 0 24px 80px rgba(0, 0, 0, 0.42);
    --pv-glow-green: 0 0 34px rgba(0, 224, 131, 0.22);
    --pv-glow-gold: 0 0 34px rgba(255, 210, 31, 0.20);

    /* Spacing */
    --pv-space-2xs: 4px;
    --pv-space-xs: 6px;
    --pv-space-sm: 10px;
    --pv-space-md: 16px;
    --pv-space-lg: 24px;
    --pv-space-xl: 36px;
    --pv-space-2xl: 56px;
    --pv-space-3xl: 80px;

    /* Typography */
    --pv-font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pv-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

    --pv-text-xs: 0.75rem;
    --pv-text-sm: 0.875rem;
    --pv-text-md: 1rem;
    --pv-text-lg: 1.125rem;
    --pv-text-xl: 1.35rem;
    --pv-text-2xl: 1.75rem;
    --pv-text-3xl: clamp(2rem, 5vw, 3.8rem);

    /* Motion */
    --pv-ease: cubic-bezier(.2, .8, .2, 1);
    --pv-transition-fast: 150ms var(--pv-ease);
    --pv-transition: 220ms var(--pv-ease);
    --pv-transition-slow: 360ms var(--pv-ease);
}

html {
    scroll-behavior: smooth;
}

body.pv-body {
    font-family: var(--pv-font-main);
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-underline-offset: 3px;
}

::selection {
    background: rgba(0, 224, 131, 0.28);
    color: #ffffff;
}
