/* PrintMarks Design System — Tokens
   Luxury technology identity: midnight navy, graphite, electric blue, silver, controlled violet, sparse gold */

:root {
  /* Brand core */
  --pm-navy-950: #040a14;
  --pm-navy-900: #07111f;
  --pm-navy-800: #0c1a2e;
  --pm-navy-700: #13263f;
  --pm-navy-600: #1a3354;

  --pm-graphite-900: #0f1419;
  --pm-graphite-800: #1a222d;
  --pm-graphite-700: #2a3544;
  --pm-graphite-600: #3d4b5c;

  --pm-silver-100: #f4f7fb;
  --pm-silver-200: #e8eef6;
  --pm-silver-300: #d4deeb;
  --pm-silver-400: #a8b8cc;
  --pm-silver-500: #7a8fa8;

  --pm-white: #ffffff;
  --pm-off-white: #f8fafc;

  /* Accent */
  --pm-blue-400: #60a5fa;
  --pm-blue-500: #3b82f6;
  --pm-blue-600: #2563eb;
  --pm-blue-700: #1d4ed8;
  --pm-blue-glow: rgba(37, 99, 235, 0.35);

  --pm-violet-400: #a78bfa;
  --pm-violet-500: #8b5cf6;
  --pm-violet-600: #7c3aed;
  --pm-violet-glow: rgba(139, 92, 246, 0.28);

  --pm-gold-400: #fbbf24;
  --pm-gold-500: #f59e0b;
  --pm-gold-600: #d97706;
  --pm-gold-glow: rgba(245, 158, 11, 0.25);

  --pm-success: #10b981;
  --pm-warning: #f59e0b;
  --pm-danger: #ef4444;
  --pm-info: #3b82f6;

  /* Surfaces */
  --pm-surface-0: var(--pm-navy-900);
  --pm-surface-1: var(--pm-navy-800);
  --pm-surface-2: var(--pm-navy-700);
  --pm-surface-glass: rgba(12, 26, 46, 0.72);
  --pm-surface-glass-light: rgba(255, 255, 255, 0.06);
  --pm-surface-card: rgba(255, 255, 255, 0.97);
  --pm-surface-card-elevated: #ffffff;

  /* Text */
  --pm-text-primary: #e8eef6;
  --pm-text-secondary: #a8b8cc;
  --pm-text-muted: #7a8fa8;
  --pm-text-on-light: #10213a;
  --pm-text-on-light-muted: #5a6d85;
  --pm-text-accent: var(--pm-blue-400);

  /* Borders */
  --pm-border-subtle: rgba(168, 184, 204, 0.12);
  --pm-border-medium: rgba(168, 184, 204, 0.22);
  --pm-border-strong: rgba(168, 184, 204, 0.35);
  --pm-border-light: rgba(15, 33, 58, 0.08);
  --pm-border-focus: var(--pm-blue-500);

  /* Shadows */
  --pm-shadow-xs: 0 1px 2px rgba(4, 10, 20, 0.06);
  --pm-shadow-sm: 0 4px 12px rgba(4, 10, 20, 0.1);
  --pm-shadow-md: 0 12px 32px rgba(4, 10, 20, 0.16);
  --pm-shadow-lg: 0 24px 48px rgba(4, 10, 20, 0.22);
  --pm-shadow-xl: 0 40px 80px rgba(4, 10, 20, 0.28);
  --pm-shadow-glow-blue: 0 0 40px var(--pm-blue-glow);
  --pm-shadow-glow-violet: 0 0 40px var(--pm-violet-glow);
  --pm-shadow-card: 0 8px 30px rgba(15, 33, 58, 0.08), 0 2px 8px rgba(15, 33, 58, 0.04);
  --pm-shadow-card-hover: 0 16px 40px rgba(15, 33, 58, 0.14), 0 4px 12px rgba(15, 33, 58, 0.06);

  /* Radii */
  --pm-radius-xs: 6px;
  --pm-radius-sm: 10px;
  --pm-radius-md: 14px;
  --pm-radius-lg: 18px;
  --pm-radius-xl: 24px;
  --pm-radius-2xl: 32px;
  --pm-radius-full: 9999px;

  /* Spacing scale (4px base) */
  --pm-space-1: 4px;
  --pm-space-2: 8px;
  --pm-space-3: 12px;
  --pm-space-4: 16px;
  --pm-space-5: 20px;
  --pm-space-6: 24px;
  --pm-space-8: 32px;
  --pm-space-10: 40px;
  --pm-space-12: 48px;
  --pm-space-16: 64px;
  --pm-space-20: 80px;
  --pm-space-24: 96px;

  /* Typography */
  --pm-font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --pm-font-display: "Inter", "Segoe UI", system-ui, sans-serif;
  --pm-font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;

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

  --pm-leading-tight: 1.15;
  --pm-leading-snug: 1.35;
  --pm-leading-normal: 1.55;
  --pm-leading-relaxed: 1.7;

  --pm-tracking-tight: -0.025em;
  --pm-tracking-normal: 0;
  --pm-tracking-wide: 0.04em;
  --pm-tracking-wider: 0.08em;

  /* Motion */
  --pm-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --pm-ease-in-out: cubic-bezier(0.45, 0, 0.55, 1);
  --pm-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --pm-duration-fast: 150ms;
  --pm-duration-normal: 280ms;
  --pm-duration-slow: 420ms;
  --pm-duration-slower: 700ms;

  /* Layout */
  --pm-max-width: 1200px;
  --pm-max-width-wide: 1320px;
  --pm-max-width-narrow: 720px;
  --pm-header-height: 72px;
  --pm-safe-bottom: env(safe-area-inset-bottom, 0px);
  --pm-safe-top: env(safe-area-inset-top, 0px);

  /* Z-index scale */
  --pm-z-base: 1;
  --pm-z-sticky: 40;
  --pm-z-header: 50;
  --pm-z-dropdown: 60;
  --pm-z-drawer: 70;
  --pm-z-modal: 80;
  --pm-z-toast: 90;
  --pm-z-lightbox: 100;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --pm-duration-fast: 1ms;
    --pm-duration-normal: 1ms;
    --pm-duration-slow: 1ms;
    --pm-duration-slower: 1ms;
  }
}
