@import "tailwindcss";
@theme {
/* Base colors - official Perigon light mode */
--color-background: #f6f6f4;
--color-foreground: #121212;
/* Card colors - Perigon card background with white base */
--color-card: #ffffff;
--color-card-foreground: #121212;
/* Popover colors - using card color */
--color-popover: #ffffff;
--color-popover-foreground: #121212;
/* Primary colors - Perigon sapphire brand */
--color-primary: #227c9d;
--color-primary-foreground: #ffffff;
/* Secondary colors - Perigon secondary button style */
--color-secondary: rgba(157, 157, 157, 0.12);
--color-secondary-foreground: #2d2d2d;
/* Muted colors - Perigon muted background and text */
--color-muted: rgba(157, 157, 157, 0.06);
--color-muted-foreground: #44403c;
/* Accent colors - slightly elevated from muted */
--color-accent: rgba(157, 157, 157, 0.06);
--color-accent-foreground: #121212;
/* Destructive colors - Perigon red */
--color-destructive: #ed2c09;
--color-destructive-foreground: #ffffff;
/* Border and input - Perigon border colors with stronger contrast */
--color-border: #d1d5db;
--color-input: #f6f6f4;
--color-ring: #227c9d;
/* Chart colors - using Perigon brand palette */
--color-chart-1: #227c9d;
--color-chart-2: #f9c035;
--color-chart-3: #2fb850;
--color-chart-4: #ff4c2c;
--color-chart-5: #7f60f2;
/* Perigon custom colors */
--color-pg-gold: #f9c035;
--color-pg-white: #ffffff;
/* Perigon gray scale - proper neutral hierarchy */
--color-pg-gray-50: #fbfbf9;
--color-pg-gray-100: #f6f6f4;
--color-pg-gray-200: #e4e4e4;
--color-pg-gray-300: #9d9d9d;
--color-pg-gray-400: #828282;
--color-pg-gray-500: #505050;
--color-pg-gray-600: #454545;
--color-pg-gray-700: #303030;
--color-pg-gray-800: #2d2d2d;
--color-pg-gray-900: #1f1f1f;
--color-pg-gray-950: #121212;
/* Success colors - green for positive actions */
--color-success: #2fb850;
--color-success-foreground: #ffffff;
/* Other variables - Perigon radius */
--radius: 1rem;
}
/* Dark mode overrides using @variant directive */
.dark {
/* Base colors - optimized for dark mode */
--color-background: #1f1f1f;
--color-foreground: #e4e4e4;
/* Card colors - elevated surface */
--color-card: #2d2d2d;
--color-card-foreground: #fbfbf9;
/* Popover colors - slightly elevated from card */
--color-popover: #303030;
--color-popover-foreground: #fbfbf9;
/* Primary colors - inverted for dark mode */
--color-primary: #fbfbf9;
--color-primary-foreground: #121212;
/* Secondary colors - darker surface */
--color-secondary: #454545;
--color-secondary-foreground: #fbfbf9;
/* Muted colors - consistent with card */
--color-muted: #2d2d2d;
--color-muted-foreground: #9d9d9d;
/* Accent colors - slightly elevated */
--color-accent: #454545;
--color-accent-foreground: #fbfbf9;
/* Destructive colors - maintain brand consistency */
--color-destructive: #ed2c09;
--color-destructive-foreground: #fbfbf9;
/* Border and input - subtle but visible */
--color-border: #505050;
--color-input: #454545;
--color-ring: #227c9d;
/* Chart colors - adjusted for dark mode visibility */
--color-chart-1: #4a9eff;
--color-chart-2: #f9c035;
--color-chart-3: #2fb850;
--color-chart-4: #ff6b47;
--color-chart-5: #9d7bff;
/* Perigon custom colors - maintained for consistency */
--color-pg-gold: #f9c035;
--color-pg-white: #ffffff;
/* Perigon gray scale - inverted for dark mode */
--color-pg-gray-50: #2d2d2d;
--color-pg-gray-100: #303030;
--color-pg-gray-200: #454545;
--color-pg-gray-300: #505050;
--color-pg-gray-400: #828282;
--color-pg-gray-500: #9d9d9d;
--color-pg-gray-600: #e4e4e4;
--color-pg-gray-700: #f6f6f4;
--color-pg-gray-800: #f6f6f4;
--color-pg-gray-900: #fbfbf9;
--color-pg-gray-950: #fbfbf9;
/* Success colors - maintained for consistency */
--color-success: #2fb850;
--color-success-foreground: #ffffff;
}
/* Custom variant for manual dark mode toggle */
@custom-variant dark (&:where(.dark, .dark *));
@layer utilities {
.animate-spin-slow {
animation: spin 2s linear infinite;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
}