@import 'tailwindcss'; @custom-variant dark (&:where(.dark, .dark *)); /* ==================== Light Mode Variables ==================== */ :root { /* Base Colors */ --art-color: #ffffff; --theme-color: var(--main-color); /* Theme Colors - OKLCH Format */ --art-primary: oklch(0.7 0.23 260); --art-secondary: oklch(0.72 0.19 231.6); --art-error: oklch(0.73 0.15 25.3); --art-info: oklch(0.58 0.03 254.1); --art-success: oklch(0.78 0.17 166.1); --art-warning: oklch(0.78 0.14 75.5); --art-danger: oklch(0.68 0.22 25.3); /* Gray Scale - Light Mode */ --art-gray-100: #f9fafb; --art-gray-200: #f2f4f5; --art-gray-300: #e6eaeb; --art-gray-400: #dbdfe1; --art-gray-500: #949eb7; --art-gray-600: #7987a1; --art-gray-700: #4d5875; --art-gray-800: #383853; --art-gray-900: #323251; /* Border Colors */ --art-card-border: rgba(0, 0, 0, 0.08); --default-border: #e2e8ee; --default-border-dashed: #dbdfe9; /* Background Colors */ --default-bg-color: #fafbfc; --default-box-color: #ffffff; /* Hover Color */ --art-hover-color: #edeff0; /* Active Color */ --art-active-color: #f2f4f5; /* Element Component Active Color */ --art-el-active-color: #f2f4f5; } /* ==================== Dark Mode Variables ==================== */ .dark { /* Base Colors */ --art-color: #000000; /* Gray Scale - Dark Mode */ --art-gray-100: #110f0f; --art-gray-200: #17171c; --art-gray-300: #393946; --art-gray-400: #505062; --art-gray-500: #73738c; --art-gray-600: #8f8fa3; --art-gray-700: #ababba; --art-gray-800: #c7c7d1; --art-gray-900: #e3e3e8; /* Border Colors */ --art-card-border: rgba(255, 255, 255, 0.08); --default-border: rgba(255, 255, 255, 0.1); --default-border-dashed: #363843; /* Background Colors */ --default-bg-color: #070707; --default-box-color: #161618; /* Hover Color */ --art-hover-color: #252530; /* Active Color */ --art-active-color: #202226; /* Element Component Active Color */ --art-el-active-color: #2e2e38; } /* ==================== Tailwind Theme Configuration ==================== */ @theme { /* Box Color (Light: white / Dark: black) */ --color-box: var(--default-box-color); /* System Theme Color */ --color-theme: var(--theme-color); /* Hover Color */ --color-hover-color: var(--art-hover-color); /* Active Color */ --color-active-color: var(--art-active-color); /* Active Color */ --color-el-active-color: var(--art-active-color); /* ElementPlus Theme Colors */ --color-primary: var(--art-primary); --color-secondary: var(--art-secondary); --color-error: var(--art-error); --color-info: var(--art-info); --color-success: var(--art-success); --color-warning: var(--art-warning); --color-danger: var(--art-danger); /* Gray Scale Colors (Auto-adapts to dark mode) */ --color-g-100: var(--art-gray-100); --color-g-200: var(--art-gray-200); --color-g-300: var(--art-gray-300); --color-g-400: var(--art-gray-400); --color-g-500: var(--art-gray-500); --color-g-600: var(--art-gray-600); --color-g-700: var(--art-gray-700); --color-g-800: var(--art-gray-800); --color-g-900: var(--art-gray-900); } /* ==================== Custom Border Radius Utilities ==================== */ @utility rounded-custom-xs { border-radius: calc(var(--custom-radius) / 2); } @utility rounded-custom-sm { border-radius: calc(var(--custom-radius) / 2 + 2px); } /* ==================== Custom Utility Classes ==================== */ @layer utilities { /* Flexbox Layout Utilities */ .flex-c { @apply flex items-center; } .flex-b { @apply flex justify-between; } .flex-cc { @apply flex items-center justify-center; } .flex-cb { @apply flex items-center justify-between; } /* Transition Utilities */ .tad-200 { @apply transition-all duration-200; } .tad-300 { @apply transition-all duration-300; } /* Border Utilities */ .border-full-d { @apply border border-[var(--default-border)]; } .border-b-d { @apply border-b border-[var(--default-border)]; } .border-t-d { @apply border-t border-[var(--default-border)]; } .border-l-d { @apply border-l border-[var(--default-border)]; } .border-r-d { @apply border-r border-[var(--default-border)]; } /* Cursor Utilities */ .c-p { @apply cursor-pointer; } } /* ==================== Custom Component Classes ==================== */ @layer components { /* Art Card Header Component */ .art-card-header { @apply flex justify-between pr-6 pb-1; .title { h4 { @apply text-lg font-medium text-g-900; } p { @apply mt-1 text-sm text-g-600; span { @apply ml-2 font-medium; } } } } }