/* perceptionmanager design tokens — GENERATED by scripts/build.mjs from tokens/*.tokens.json (DTCG 2025.10).
   Do not edit by hand: change the JSON and run `npm run build`. */
@layer tokens {
  :root {
    color-scheme: dark;

    /* ===== primitives ===== */
    /* color.neutral */
    --pm-color-neutral-50: #f3f1ec;
    --pm-color-neutral-400: #a6adbb;
    --pm-color-neutral-500: #8b93a1;
    --pm-color-neutral-800: #20242f;
    --pm-color-neutral-850: #1b1f29;
    --pm-color-neutral-900: #14171f;
    --pm-color-neutral-950: #0a0c10;
    /* color.coral */
    --pm-color-coral-300: #ff9c5b;
    --pm-color-coral-500: #ff6a4c;
    /* color.cyan */
    --pm-color-cyan-400: #45e0ff;
    /* color.green */
    --pm-color-green-400: #4ade80;
    /* color.alpha */
    --pm-color-alpha-white-a3: rgb(255 255 255 / 0.03);
    --pm-color-alpha-white-a6: rgb(255 255 255 / 0.06);
    --pm-color-alpha-white-a10: rgb(255 255 255 / 0.1);
    --pm-color-alpha-white-a18: rgb(255 255 255 / 0.18);
    --pm-color-alpha-white-a24: rgb(255 255 255 / 0.24);
    --pm-color-alpha-black-a35: rgb(0 0 0 / 0.35);
    --pm-color-alpha-black-a50: rgb(0 0 0 / 0.5);
    --pm-color-alpha-black-a60: rgb(0 0 0 / 0.6);
    --pm-color-alpha-neutral-950-a88: rgb(10 12 16 / 0.88);
    --pm-color-alpha-neutral-950-a97: rgb(10 12 16 / 0.97);
    --pm-color-alpha-coral-a12: rgb(255 106 76 / 0.12);
    --pm-color-alpha-coral-a24: rgb(255 106 76 / 0.24);
    --pm-color-alpha-coral-a35: rgb(255 106 76 / 0.35);
    --pm-color-alpha-coral-a55: rgb(255 106 76 / 0.55);
    --pm-color-alpha-coral-a70: rgb(255 106 76 / 0.7);
    --pm-color-alpha-cyan-a12: rgb(69 224 255 / 0.12);
    --pm-color-alpha-rose-a12: rgb(251 113 133 / 0.12);
    --pm-color-alpha-rose-a35: rgb(251 113 133 / 0.35);
    --pm-color-alpha-orange-a12: rgb(251 146 60 / 0.12);
    --pm-color-alpha-orange-a35: rgb(251 146 60 / 0.35);
    --pm-color-alpha-amber-a12: rgb(252 211 77 / 0.12);
    --pm-color-alpha-amber-a35: rgb(252 211 77 / 0.35);
    /* color.rose */
    --pm-color-rose-400: #fb7185;
    /* color.orange */
    --pm-color-orange-400: #fb923c;
    /* color.amber */
    --pm-color-amber-300: #fcd34d;
    /* space */
    --pm-space-1: 0.25rem;
    --pm-space-2: 0.5rem;
    --pm-space-3: 0.75rem;
    --pm-space-4: 1rem;
    --pm-space-5: 1.25rem;
    --pm-space-6: 1.5rem;
    --pm-space-8: 2rem;
    --pm-space-10: 2.5rem;
    --pm-space-12: 3rem;
    --pm-space-14: 3.5rem;
    --pm-space-16: 4rem;
    --pm-space-20: 5rem;
    --pm-space-24: 6rem;
    --pm-space-32: 8rem;
    --pm-space-0-5: 0.125rem;
    /* radius */
    --pm-radius-none: 0;
    --pm-radius-xs: 0.125rem;
    --pm-radius-sm: 0.5rem;
    --pm-radius-md: 0.75rem;
    --pm-radius-lg: 1.25rem;
    --pm-radius-full: 9999px;
    /* font */
    --pm-font-family-display: Fraunces, 'Iowan Old Style', Georgia, serif;
    --pm-font-family-sans: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --pm-font-weight-regular: 400;
    --pm-font-weight-semibold: 600;
    --pm-font-weight-bold: 700;
    --pm-font-size-12: 0.75rem;
    --pm-font-size-14: 0.875rem;
    --pm-font-size-16: 1rem;
    --pm-font-size-17: 1.0625rem;
    --pm-font-size-18: 1.125rem;
    --pm-font-size-20: 1.25rem;
    --pm-font-size-24: 1.5rem;
    --pm-font-size-28: 1.75rem;
    --pm-font-size-32: 2rem;
    --pm-font-size-36: 2.25rem;
    --pm-font-size-40: 2.5rem;
    --pm-font-size-42: 2.625rem;
    --pm-font-size-60: 3.75rem;
    --pm-font-size-76: 4.75rem;
    --pm-font-line-height-none: 1;
    --pm-font-line-height-tight: 1.1;
    --pm-font-line-height-snug: 1.25;
    --pm-font-line-height-normal: 1.5;
    --pm-font-line-height-relaxed: 1.65;
    --pm-font-tracking-normal: 0;
    --pm-font-tracking-wide: 0.02em;
    --pm-font-tracking-caps: 0.05em;
    /* duration */
    --pm-duration-fast: 200ms;
    --pm-duration-base: 300ms;
    --pm-duration-slow: 600ms;
    --pm-duration-entrance: 900ms;
    /* easing */
    --pm-easing-standard: cubic-bezier(0.25, 0.1, 0.25, 1);
    --pm-easing-emphasized: cubic-bezier(0.2, 0.7, 0.3, 1);
    --pm-easing-in-out: cubic-bezier(0.42, 0, 0.58, 1);
    --pm-easing-linear: linear;
    /* z */
    --pm-z-base: 0;
    --pm-z-raised: 1;
    --pm-z-content: 2;
    --pm-z-nav: 50;
    --pm-z-gate: 200;
    --pm-z-modal: 300;
    --pm-z-toast: 500;

    /* ===== semantic ===== */
    /* color.surface */
    --pm-color-surface-page: var(--pm-color-neutral-900);
    --pm-color-surface-raised: var(--pm-color-neutral-850);
    --pm-color-surface-card: var(--pm-color-neutral-800);
    --pm-color-surface-sunken: var(--pm-color-neutral-950);
    --pm-color-surface-tint: var(--pm-color-alpha-white-a3);
    --pm-color-surface-tint-strong: var(--pm-color-alpha-white-a6);
    --pm-color-surface-scrim: var(--pm-color-alpha-neutral-950-a88);
    --pm-color-surface-scrim-strong: var(--pm-color-alpha-neutral-950-a97);
    /* color.text */
    --pm-color-text-primary: var(--pm-color-neutral-50);
    --pm-color-text-secondary: var(--pm-color-neutral-400);
    --pm-color-text-tertiary: var(--pm-color-neutral-500);
    --pm-color-text-on-accent: var(--pm-color-neutral-950);
    --pm-color-text-accent: var(--pm-color-coral-500);
    --pm-color-text-interactive-hover: var(--pm-color-cyan-400);
    /* color.border */
    --pm-color-border-subtle: var(--pm-color-alpha-white-a10);
    --pm-color-border-strong: var(--pm-color-alpha-white-a24);
    --pm-color-border-accent: var(--pm-color-alpha-coral-a35);
    --pm-color-border-interactive-hover: var(--pm-color-cyan-400);
    /* color.accent */
    --pm-color-accent-primary: var(--pm-color-coral-500);
    --pm-color-accent-secondary: var(--pm-color-cyan-400);
    --pm-color-accent-primary-subtle: var(--pm-color-alpha-coral-a12);
    --pm-color-accent-primary-muted: var(--pm-color-alpha-coral-a24);
    --pm-color-accent-secondary-subtle: var(--pm-color-alpha-cyan-a12);
    /* color.status */
    --pm-color-status-success: var(--pm-color-green-400);
    --pm-color-status-critical: var(--pm-color-rose-400);
    --pm-color-status-critical-subtle: var(--pm-color-alpha-rose-a12);
    --pm-color-status-critical-border: var(--pm-color-alpha-rose-a35);
    --pm-color-status-high: var(--pm-color-orange-400);
    --pm-color-status-high-subtle: var(--pm-color-alpha-orange-a12);
    --pm-color-status-high-border: var(--pm-color-alpha-orange-a35);
    --pm-color-status-medium: var(--pm-color-amber-300);
    --pm-color-status-medium-subtle: var(--pm-color-alpha-amber-a12);
    --pm-color-status-medium-border: var(--pm-color-alpha-amber-a35);
    --pm-color-status-low: var(--pm-color-neutral-400);
    --pm-color-status-low-subtle: var(--pm-color-alpha-white-a6);
    --pm-color-status-low-border: var(--pm-color-alpha-white-a10);
    --pm-color-status-error: var(--pm-color-rose-400);
    --pm-color-status-error-subtle: var(--pm-color-alpha-rose-a12);
    --pm-color-status-error-border: var(--pm-color-alpha-rose-a35);
    --pm-color-status-warning: var(--pm-color-amber-300);
    --pm-color-status-warning-subtle: var(--pm-color-alpha-amber-a12);
    --pm-color-status-warning-border: var(--pm-color-alpha-amber-a35);
    /* color.focus */
    --pm-color-focus-ring: var(--pm-color-cyan-400);
    /* gradient */
    --pm-gradient-brand: linear-gradient(100deg, var(--pm-color-coral-500) 0%, var(--pm-color-coral-300) 35%, var(--pm-color-cyan-400) 100%);
    /* typography */
    --pm-type-caption-size: 0.75rem;
    --pm-type-caption-line-height: var(--pm-font-line-height-normal);
    --pm-type-caption-weight: var(--pm-font-weight-semibold);
    --pm-type-caption-family: var(--pm-font-family-sans);
    --pm-type-caption-tracking: var(--pm-font-tracking-caps);
    --pm-type-small-size: 0.875rem;
    --pm-type-small-line-height: var(--pm-font-line-height-normal);
    --pm-type-small-weight: var(--pm-font-weight-regular);
    --pm-type-small-family: var(--pm-font-family-sans);
    --pm-type-small-tracking: var(--pm-font-tracking-normal);
    --pm-type-body-size: 1rem;
    --pm-type-body-line-height: var(--pm-font-line-height-relaxed);
    --pm-type-body-weight: var(--pm-font-weight-regular);
    --pm-type-body-family: var(--pm-font-family-sans);
    --pm-type-body-tracking: var(--pm-font-tracking-normal);
    --pm-type-body-lg-size: 1.125rem;
    --pm-type-body-lg-line-height: var(--pm-font-line-height-relaxed);
    --pm-type-body-lg-weight: var(--pm-font-weight-regular);
    --pm-type-body-lg-family: var(--pm-font-family-sans);
    --pm-type-body-lg-tracking: var(--pm-font-tracking-normal);
    --pm-type-lead-size: clamp(1.0625rem, 0.9848rem + 0.3315vw, 1.25rem);
    --pm-type-lead-line-height: var(--pm-font-line-height-relaxed);
    --pm-type-lead-weight: var(--pm-font-weight-regular);
    --pm-type-lead-family: var(--pm-font-family-sans);
    --pm-type-lead-tracking: var(--pm-font-tracking-normal);
    --pm-type-heading-sm-size: clamp(1.25rem, 1.1464rem + 0.442vw, 1.5rem);
    --pm-type-heading-sm-line-height: var(--pm-font-line-height-snug);
    --pm-type-heading-sm-weight: var(--pm-font-weight-regular);
    --pm-type-heading-sm-family: var(--pm-font-family-display);
    --pm-type-heading-sm-tracking: var(--pm-font-tracking-normal);
    --pm-type-heading-md-size: clamp(1.5rem, 1.2928rem + 0.884vw, 2rem);
    --pm-type-heading-md-line-height: var(--pm-font-line-height-snug);
    --pm-type-heading-md-weight: var(--pm-font-weight-regular);
    --pm-type-heading-md-family: var(--pm-font-family-display);
    --pm-type-heading-md-tracking: var(--pm-font-tracking-normal);
    --pm-type-heading-lg-size: clamp(1.75rem, 1.4392rem + 1.326vw, 2.5rem);
    --pm-type-heading-lg-line-height: var(--pm-font-line-height-snug);
    --pm-type-heading-lg-weight: var(--pm-font-weight-regular);
    --pm-type-heading-lg-family: var(--pm-font-family-display);
    --pm-type-heading-lg-tracking: var(--pm-font-tracking-normal);
    --pm-type-display-md-size: clamp(2.25rem, 1.6285rem + 2.6519vw, 3.75rem);
    --pm-type-display-md-line-height: var(--pm-font-line-height-tight);
    --pm-type-display-md-weight: var(--pm-font-weight-regular);
    --pm-type-display-md-family: var(--pm-font-family-display);
    --pm-type-display-md-tracking: var(--pm-font-tracking-normal);
    --pm-type-display-lg-size: clamp(2.625rem, 1.7445rem + 3.7569vw, 4.75rem);
    --pm-type-display-lg-line-height: var(--pm-font-line-height-tight);
    --pm-type-display-lg-weight: var(--pm-font-weight-regular);
    --pm-type-display-lg-family: var(--pm-font-family-display);
    --pm-type-display-lg-tracking: var(--pm-font-tracking-normal);
    /* shadow */
    --pm-shadow-elevation-1: 0 10px 30px -10px var(--pm-color-alpha-black-a50);
    --pm-shadow-elevation-2: 0 10px 30px var(--pm-color-alpha-black-a35);
    --pm-shadow-elevation-3: 0 20px 60px var(--pm-color-alpha-black-a60);
    --pm-shadow-glow-accent: 0 8px 24px -8px var(--pm-color-alpha-coral-a55);
    --pm-shadow-glow-accent-hover: 0 14px 32px -8px var(--pm-color-alpha-coral-a70);
    --pm-shadow-glow-success: 0 0 12px 2px var(--pm-color-green-400);
    /* motion */
    --pm-motion-hover: var(--pm-duration-fast) var(--pm-easing-standard);
    --pm-motion-state: var(--pm-duration-base) var(--pm-easing-standard);
    --pm-motion-enter: var(--pm-duration-entrance) var(--pm-easing-emphasized);
    /* layout */
    --pm-layout-content-max: 72.5rem;
    --pm-layout-measure-narrow: 40rem;
    --pm-layout-measure: 45rem;
    --pm-layout-measure-wide: 53.75rem;
    --pm-layout-gutter: clamp(1.25rem, 0.5249rem + 3.0939vw, 3rem);
    --pm-layout-section-y: clamp(3.5rem, 2.4641rem + 4.4199vw, 6rem);
    --pm-layout-nav-height: clamp(5rem, 4.5856rem + 1.768vw, 6rem);
    --pm-layout-target-min: 2.75rem;

    /* ===== components ===== */
    /* button */
    --pm-button-radius: var(--pm-radius-md);
    --pm-button-padding-y: var(--pm-space-4);
    --pm-button-padding-x: var(--pm-space-8);
    --pm-button-tertiary-padding-y: var(--pm-space-2);
    --pm-button-tertiary-padding-x: var(--pm-space-2);
    --pm-button-gap: var(--pm-space-3);
    --pm-button-min-height: var(--pm-layout-target-min);
    --pm-button-primary-bg: var(--pm-gradient-brand);
    --pm-button-primary-text: var(--pm-color-text-on-accent);
    --pm-button-primary-shadow: var(--pm-shadow-glow-accent);
    --pm-button-primary-shadow-hover: var(--pm-shadow-glow-accent-hover);
    --pm-button-ghost-border: var(--pm-color-border-subtle);
    --pm-button-ghost-border-hover: var(--pm-color-border-interactive-hover);
    /* card */
    --pm-card-bg: var(--pm-color-surface-card);
    --pm-card-border: var(--pm-color-border-subtle);
    --pm-card-radius: var(--pm-radius-lg);
    --pm-card-padding: var(--pm-space-6);
    /* tag */
    --pm-tag-bg: var(--pm-color-surface-tint-strong);
    --pm-tag-border: var(--pm-color-border-subtle);
    --pm-tag-radius: var(--pm-radius-full);
    --pm-tag-padding-y: var(--pm-space-1);
    --pm-tag-padding-x: var(--pm-space-3);
    --pm-tag-text: var(--pm-color-text-tertiary);
    /* stat */
    --pm-stat-value-typography-size: var(--pm-type-heading-md-size);
    --pm-stat-value-typography-line-height: var(--pm-type-heading-md-line-height);
    --pm-stat-value-typography-weight: var(--pm-type-heading-md-weight);
    --pm-stat-value-typography-family: var(--pm-type-heading-md-family);
    --pm-stat-value-typography-tracking: var(--pm-type-heading-md-tracking);
    --pm-stat-label-color: var(--pm-color-text-tertiary);
    /* step */
    --pm-step-num-size: var(--pm-space-12);
    --pm-step-line-color: var(--pm-color-border-subtle);
    /* check */
    --pm-check-size: var(--pm-space-6);
    --pm-check-bg: var(--pm-color-accent-primary);
    /* nav */
    --pm-nav-height: var(--pm-layout-nav-height);
    --pm-nav-link-color: var(--pm-color-text-secondary);
    --pm-nav-link-hover: var(--pm-color-text-primary);
    /* focus */
    --pm-focus-ring-width: 2px;
    --pm-focus-ring-offset: 2px;
  }

  @media (prefers-reduced-motion: reduce) {
    :root {
      --pm-duration-fast: 0ms;
      --pm-duration-base: 0ms;
      --pm-duration-slow: 0ms;
      --pm-duration-entrance: 0ms;
    }
  }
}

/* One utility class per type role. Products can use these or the --pm-type-* variables directly. */
@layer base {
  .pm-text-caption { font-family: var(--pm-type-caption-family); font-size: var(--pm-type-caption-size); font-weight: var(--pm-type-caption-weight); line-height: var(--pm-type-caption-line-height); letter-spacing: var(--pm-type-caption-tracking); text-transform: uppercase; }
  .pm-text-small { font-family: var(--pm-type-small-family); font-size: var(--pm-type-small-size); font-weight: var(--pm-type-small-weight); line-height: var(--pm-type-small-line-height); letter-spacing: var(--pm-type-small-tracking); }
  .pm-text-body { font-family: var(--pm-type-body-family); font-size: var(--pm-type-body-size); font-weight: var(--pm-type-body-weight); line-height: var(--pm-type-body-line-height); letter-spacing: var(--pm-type-body-tracking); }
  .pm-text-body-lg { font-family: var(--pm-type-body-lg-family); font-size: var(--pm-type-body-lg-size); font-weight: var(--pm-type-body-lg-weight); line-height: var(--pm-type-body-lg-line-height); letter-spacing: var(--pm-type-body-lg-tracking); }
  .pm-text-lead { font-family: var(--pm-type-lead-family); font-size: var(--pm-type-lead-size); font-weight: var(--pm-type-lead-weight); line-height: var(--pm-type-lead-line-height); letter-spacing: var(--pm-type-lead-tracking); }
  .pm-text-heading-sm { font-family: var(--pm-type-heading-sm-family); font-size: var(--pm-type-heading-sm-size); font-weight: var(--pm-type-heading-sm-weight); line-height: var(--pm-type-heading-sm-line-height); letter-spacing: var(--pm-type-heading-sm-tracking); }
  .pm-text-heading-md { font-family: var(--pm-type-heading-md-family); font-size: var(--pm-type-heading-md-size); font-weight: var(--pm-type-heading-md-weight); line-height: var(--pm-type-heading-md-line-height); letter-spacing: var(--pm-type-heading-md-tracking); }
  .pm-text-heading-lg { font-family: var(--pm-type-heading-lg-family); font-size: var(--pm-type-heading-lg-size); font-weight: var(--pm-type-heading-lg-weight); line-height: var(--pm-type-heading-lg-line-height); letter-spacing: var(--pm-type-heading-lg-tracking); }
  .pm-text-display-md { font-family: var(--pm-type-display-md-family); font-size: var(--pm-type-display-md-size); font-weight: var(--pm-type-display-md-weight); line-height: var(--pm-type-display-md-line-height); letter-spacing: var(--pm-type-display-md-tracking); }
  .pm-text-display-lg { font-family: var(--pm-type-display-lg-family); font-size: var(--pm-type-display-lg-size); font-weight: var(--pm-type-display-lg-weight); line-height: var(--pm-type-display-lg-line-height); letter-spacing: var(--pm-type-display-lg-tracking); }
}
