/**
 * CounterMeasure Tailwind v4 @theme Block
 * @countermeasure-platform/web-components
 *
 * Maps canonical design-system tokens into Tailwind utility names. The actual
 * custom properties are defined in tokens.css; this file exists so consumer
 * Tailwind builds can generate classes against the same token surface.
 */

@theme {
  /* Font families */
  --font-sans: "Outfit", "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: "Outfit", "Space Grotesk", "Sora", sans-serif;
  --font-body: "Outfit", "Inter", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-display: 40px;
  --text-display--line-height: 1.15;
  --text-display--font-weight: 700;
  --text-h1: 32px;
  --text-h1--line-height: 1.2;
  --text-h1--font-weight: 700;
  --text-h2: 24px;
  --text-h2--line-height: 1.25;
  --text-h2--font-weight: 600;
  --text-h3: 18px;
  --text-h3--line-height: 1.35;
  --text-h3--font-weight: 600;
  --text-h4: 15px;
  --text-h4--line-height: 1.4;
  --text-h4--font-weight: 600;
  --text-body: 14px;
  --text-body--line-height: 1.55;
  --text-body-sm: 13px;
  --text-body-sm--line-height: 1.5;
  --text-caption: 12px;
  --text-caption--line-height: 1.4;
  --text-code: 12.5px;
  --text-code--line-height: 1.5;
  --text-code-sm: 11px;
  --text-code-sm--line-height: 1.4;
  --text-metric: 22px;
  --text-metric--line-height: 1;
  --text-metric--font-weight: 700;

  /* Core shadcn-compatible colors */
  --color-background: hsl(var(--background));
  --color-foreground: hsl(var(--foreground));
  --color-foreground-secondary: hsl(var(--foreground-secondary));
  --color-foreground-tertiary: hsl(var(--foreground-tertiary));
  --color-foreground-muted: hsl(var(--foreground-muted));

  --color-primary: hsl(var(--primary));
  --color-primary-hover: hsl(var(--primary-hover));
  --color-primary-foreground: hsl(var(--primary-foreground));
  --color-primary-alpha: hsl(var(--primary) / 0.15);
  --color-primary-light: hsl(var(--primary) / 0.06);
  --color-secondary: hsl(var(--secondary));
  --color-secondary-foreground: hsl(var(--secondary-foreground));
  --color-accent: hsl(var(--accent));
  --color-accent-foreground: hsl(var(--accent-foreground));
  --color-muted: hsl(var(--muted));
  --color-muted-foreground: hsl(var(--muted-foreground));
  --color-card: hsl(var(--card));
  --color-card-foreground: hsl(var(--card-foreground));
  --color-popover: hsl(var(--popover));
  --color-popover-foreground: hsl(var(--popover-foreground));

  /* Named design-system surfaces */
  --color-bg: hsl(var(--background));
  --color-bg-secondary: hsl(var(--background-secondary));
  --color-bg-tertiary: hsl(var(--background-tertiary));
  --color-bg-hover: hsl(var(--hover-overlay) / 0.05);
  --color-surface: hsl(var(--surface));
  --color-surface-alt: hsl(var(--surface-alt));
  --color-surface-hover: hsl(var(--surface-hover));
  --color-text: hsl(var(--foreground));
  --color-text-muted: hsl(var(--foreground-secondary));
  --color-text-dim: hsl(var(--foreground-tertiary));
  --color-text-disabled: hsl(var(--foreground-muted));

  --color-background-elevated: hsl(var(--background-elevated));
  --color-background-surface: hsl(var(--background-surface));
  --color-surface-primary: hsl(var(--surface-primary));
  --color-surface-secondary: hsl(var(--surface-secondary));
  --color-surface-tertiary: hsl(var(--surface-tertiary));

  --color-border: hsl(var(--border));
  --color-input: hsl(var(--input));
  --color-ring: hsl(var(--ring));
  --color-border-default: hsl(var(--border-default));
  --color-border-glass: hsl(var(--border-glass));
  --color-border-subtle: hsl(var(--border-subtle));
  --color-content-primary: hsl(var(--foreground));

  /* Brand orange */
  --color-orange-50: hsl(var(--orange-500) / 0.1);
  --color-orange-100: hsl(var(--orange-500) / 0.2);
  --color-orange-300: hsl(var(--orange-300));
  --color-orange-400: hsl(var(--orange-400));
  --color-orange-500: hsl(var(--orange-500));
  --color-orange-600: hsl(var(--orange-600));
  --color-orange-700: hsl(var(--orange-700));

  /* Categorical palette */
  --color-blue-10: hsl(var(--blue-400) / 0.1);
  --color-blue-400: hsl(var(--blue-400));
  --color-blue-500: hsl(var(--blue-500));
  --color-violet-10: hsl(var(--violet-400) / 0.1);
  --color-violet-400: hsl(var(--violet-400));
  --color-violet-500: hsl(var(--violet-500));
  --color-amber-10: hsl(var(--amber-400) / 0.1);
  --color-amber-400: hsl(var(--amber-400));
  --color-amber-500: hsl(var(--amber-500));
  --color-emerald-10: hsl(var(--emerald-400) / 0.1);
  --color-emerald-400: hsl(var(--emerald-400));
  --color-emerald-500: hsl(var(--emerald-500));
  --color-rose-10: hsl(var(--rose-400) / 0.1);
  --color-rose-400: hsl(var(--rose-400));
  --color-rose-500: hsl(var(--rose-500));
  --color-cyan-10: hsl(var(--cyan-400) / 0.1);
  --color-cyan-400: hsl(var(--cyan-400));
  --color-cyan-500: hsl(var(--cyan-500));
  --color-pink-400: hsl(var(--pink-400));
  --color-yellow-400: hsl(var(--yellow-400));

  /* Long-form categorical token aliases */
  --color-bg-blue-10: hsl(var(--blue-400) / 0.1);
  --color-bg-violet-10: hsl(var(--violet-400) / 0.1);
  --color-bg-amber-10: hsl(var(--amber-400) / 0.1);
  --color-bg-emerald-10: hsl(var(--emerald-400) / 0.1);
  --color-bg-rose-10: hsl(var(--rose-400) / 0.1);
  --color-bg-cyan-10: hsl(var(--cyan-400) / 0.1);

  /* Accent and status colors */
  --color-accent-cyan: hsl(var(--accent-cyan));
  --color-accent-rose: hsl(var(--accent-rose));
  --color-accent-amber: hsl(var(--accent-amber));
  --color-accent-violet: hsl(var(--accent-violet));
  --color-accent-emerald: hsl(var(--accent-emerald));
  --color-accent-primary: hsl(var(--accent-primary));

  --color-success: hsl(var(--success));
  --color-success-foreground: hsl(var(--success-foreground));
  --color-warning: hsl(var(--warning));
  --color-warning-foreground: hsl(var(--warning-foreground));
  --color-danger: hsl(var(--danger));
  --color-danger-foreground: hsl(var(--danger-foreground));
  --color-error: hsl(var(--danger));
  --color-error-bg: hsl(var(--danger) / 0.1);
  --color-info: hsl(var(--info));
  --color-info-foreground: hsl(var(--info-foreground));
  --color-destructive: hsl(var(--destructive));
  --color-destructive-foreground: hsl(var(--destructive-foreground));

  /* Glass utility colors */
  --color-glass: hsl(var(--bg-glass) / 0.05);
  --color-glass-hover: hsl(var(--bg-glass) / 0.08);
  --color-glass-solid: hsl(var(--bg-glass) / 0.95);

  /* Shadows */
  --shadow-glow: var(--shadow-glow);
  --shadow-glow-rose: var(--shadow-glow-rose);
  --shadow-glow-amber: var(--shadow-glow-amber);
  --shadow-glow-violet: var(--shadow-glow-violet);
  --shadow-glow-cyan: var(--shadow-glow-cyan);
  --shadow-xs: var(--shadow-xs);

  /* Radius */
  --radius: var(--radius);
  --radius-sm: var(--radius-sm);
  --radius-md: var(--radius-md);
  --radius-lg: var(--radius-lg);
  --radius-xl: var(--radius-xl);
  --radius-xs: 0.125rem;

  /* Icon sizing tokens */
  --spacing-icon-12: 12px;
  --spacing-icon-14: 14px;
  --spacing-icon-16: 16px;
  --spacing-icon-18: 18px;
  --spacing-icon-20: 20px;
  --spacing-icon-24: 24px;
}

@utility border-top-rose {
  border-top-color: hsl(var(--accent-rose) / 0.6);
}

@utility border-top-amber {
  border-top-color: hsl(var(--accent-amber) / 0.6);
}

@utility border-top-violet {
  border-top-color: hsl(var(--accent-violet) / 0.6);
}

@utility border-top-cyan {
  border-top-color: hsl(var(--accent-cyan) / 0.6);
}

@utility icon-12 {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

@utility icon-14 {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

@utility icon-16 {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

@utility icon-18 {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

@utility icon-20 {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

@utility icon-24 {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
