/* GENERATED by scripts/build-tokens.mjs from brand/tokens/tokens.json. Do not edit; run `npm run build`. */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap");

:root {
  color-scheme: light dark;

  /* color / brand */
  --pm-color-accent: #231F20;
  --pm-color-accent-text: #231F20;
  --pm-color-accent-dark: #CCCFCE;
  --pm-color-on-accent: #FFFFFF;
  --pm-color-secondary: #858A8E;

  /* color / neutral */
  --pm-color-ink: #231F20;
  --pm-color-paper: #FFFFFF;
  --pm-color-white: #FFFFFF;
  --pm-color-gray-100: #F2F3F3;
  --pm-color-gray-200: #E3E5E5;
  --pm-color-gray-300: #CCCFCE;
  --pm-color-gray-400: #A3A7AA;
  --pm-color-gray-500: #696E72;
  --pm-color-gray-600: #53575A;
  --pm-color-gray-700: #44474A;
  --pm-color-gray-800: #363233;
  --pm-color-gray-900: #2C2829;

  /* color / status */
  --pm-color-success: #1E6B34;
  --pm-color-success-bg: #E6F4EA;
  --pm-color-warning: #7A4F00;
  --pm-color-warning-bg: #FFF3D6;
  --pm-color-danger: #B3261E;
  --pm-color-danger-bg: #FCEAE8;
  --pm-color-info: #0B5C99;
  --pm-color-info-bg: #E4F0FA;

  /* color / semantic */
  --pm-color-fg: var(--pm-color-ink);
  --pm-color-fg-muted: var(--pm-color-gray-600);
  --pm-color-fg-subtle: var(--pm-color-gray-500);
  --pm-color-fg-on-brand: var(--pm-color-on-accent);
  --pm-color-link: var(--pm-color-accent-text);
  --pm-color-bg: var(--pm-color-paper);
  --pm-color-bg-surface: var(--pm-color-white);
  --pm-color-bg-sunken: var(--pm-color-gray-100);
  --pm-color-bg-brand: var(--pm-color-accent);
  --pm-color-border: var(--pm-color-gray-200);
  --pm-color-border-strong: var(--pm-color-gray-300);
  --pm-color-focus: var(--pm-color-accent-text);

  /* color / logo */
  --pm-color-logo-ink: #231F20;
  --pm-color-logo-stage: #CCCFCE;
  --pm-color-logo-string: #AFB2B3;
  --pm-color-logo-shadow: #A3A7AA;
  --pm-color-logo-slate: #858A8E;
  --pm-color-logo-white: #FFFFFF;

  /* gradient */
  --pm-gradient-brand: linear-gradient(135deg, var(--pm-color-accent) 0%, var(--pm-color-secondary) 100%);
  --pm-gradient-soft: linear-gradient(135deg, var(--pm-color-paper) 0%, var(--pm-color-gray-100) 100%);

  /* font / family */
  --pm-font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --pm-font-body: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --pm-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* font / weight */
  --pm-font-weight-regular: 400;
  --pm-font-weight-medium: 500;
  --pm-font-weight-semibold: 600;
  --pm-font-weight-bold: 700;

  /* type / size */
  --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;

  /* type / lineHeight */
  --pm-leading-tight: 1.15;
  --pm-leading-snug: 1.3;
  --pm-leading-normal: 1.5;
  --pm-leading-relaxed: 1.65;

  /* type / tracking */
  --pm-tracking-tight: -0.02em;
  --pm-tracking-normal: 0em;
  --pm-tracking-wide: 0.08em;

  /* spacing */
  --pm-spacing-0: 0px;
  --pm-spacing-1: 4px;
  --pm-spacing-2: 8px;
  --pm-spacing-3: 12px;
  --pm-spacing-4: 16px;
  --pm-spacing-5: 20px;
  --pm-spacing-6: 24px;
  --pm-spacing-8: 32px;
  --pm-spacing-10: 40px;
  --pm-spacing-12: 48px;
  --pm-spacing-16: 64px;
  --pm-spacing-20: 80px;
  --pm-spacing-24: 96px;

  /* radius */
  --pm-radius-none: 0px;
  --pm-radius-sm: 4px;
  --pm-radius-md: 8px;
  --pm-radius-lg: 12px;
  --pm-radius-xl: 20px;
  --pm-radius-pill: 999px;

  /* shadow */
  --pm-shadow-sm: 0 1px 2px rgba(35, 31, 32, 0.08);
  --pm-shadow-md: 0 4px 8px -2px rgba(35, 31, 32, 0.12), 0 2px 4px -2px rgba(35, 31, 32, 0.08);
  --pm-shadow-lg: 0 12px 24px -8px rgba(35, 31, 32, 0.18), 0 4px 8px -4px rgba(35, 31, 32, 0.1);

  /* motion / duration */
  --pm-duration-fast: 120ms;
  --pm-duration-base: 200ms;
  --pm-duration-slow: 320ms;

  /* motion / easing */
  --pm-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --pm-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
  --pm-ease-exit: cubic-bezier(0.4, 0, 1, 1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --pm-color-fg: var(--pm-color-paper);
    --pm-color-fg-muted: var(--pm-color-gray-300);
    --pm-color-fg-subtle: var(--pm-color-gray-400);
    --pm-color-link: var(--pm-color-accent-dark);
    --pm-color-bg: var(--pm-color-ink);
    --pm-color-bg-surface: var(--pm-color-gray-900);
    --pm-color-bg-sunken: var(--pm-color-gray-800);
    --pm-color-border: var(--pm-color-gray-700);
    --pm-color-border-strong: var(--pm-color-gray-600);
    --pm-color-focus: var(--pm-color-accent-dark);
    --pm-color-success: #6FD68A;
    --pm-color-success-bg: #12301D;
    --pm-color-warning: #E5B45C;
    --pm-color-warning-bg: #33260C;
    --pm-color-danger: #F0907C;
    --pm-color-danger-bg: #3A1A14;
    --pm-color-info: #7DB8EA;
    --pm-color-info-bg: #0F2A40;
  }
}

:root[data-theme="dark"] {
  --pm-color-fg: var(--pm-color-paper);
  --pm-color-fg-muted: var(--pm-color-gray-300);
  --pm-color-fg-subtle: var(--pm-color-gray-400);
  --pm-color-link: var(--pm-color-accent-dark);
  --pm-color-bg: var(--pm-color-ink);
  --pm-color-bg-surface: var(--pm-color-gray-900);
  --pm-color-bg-sunken: var(--pm-color-gray-800);
  --pm-color-border: var(--pm-color-gray-700);
  --pm-color-border-strong: var(--pm-color-gray-600);
  --pm-color-focus: var(--pm-color-accent-dark);
  --pm-color-success: #6FD68A;
  --pm-color-success-bg: #12301D;
  --pm-color-warning: #E5B45C;
  --pm-color-warning-bg: #33260C;
  --pm-color-danger: #F0907C;
  --pm-color-danger-bg: #3A1A14;
  --pm-color-info: #7DB8EA;
  --pm-color-info-bg: #0F2A40;
}
