index.styl 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. @css {
  2. /* Определение кастомных цветов для Tailwind */
  3. @layer base {
  4. :root {
  5. --color-primary-50: #fef2f2;
  6. --color-primary-100: #fee2e2;
  7. --color-primary-200: #fecaca;
  8. --color-primary-300: #fca5a5;
  9. --color-primary-400: #f87171;
  10. --color-primary-500: #ef4444;
  11. --color-primary-600: #dc2626;
  12. --color-primary-700: #b91c1c;
  13. --color-primary-800: #991b1b;
  14. --color-primary-900: #7f1d1d;
  15. --color-accent-50: #f0f9ff;
  16. --color-accent-100: #e0f2fe;
  17. --color-accent-200: #bae6fd;
  18. --color-accent-300: #7dd3fc;
  19. --color-accent-400: #38bdf8;
  20. --color-accent-500: #0ea5e9;
  21. --color-accent-600: #0284c7;
  22. --color-accent-700: #0369a1;
  23. --color-accent-800: #075985;
  24. --color-accent-900: #0c4a6e;
  25. }
  26. }
  27. /* Основные стили приложения */
  28. #app {
  29. @apply min-h-screen bg-white dark:bg-gray-900 transition-colors duration-300;
  30. }
  31. /* Header */
  32. .header {
  33. @apply bg-white dark:bg-gray-800 shadow-sm sticky top-0 z-50;
  34. }
  35. .header__nav {
  36. @apply container mx-auto px-4 py-3;
  37. }
  38. .header__nav-block {
  39. @apply flex items-center justify-between;
  40. }
  41. .header__nav-name {
  42. @apply text-2xl font-bold bg-gradient-to-r from-primary-500 to-accent-500 bg-clip-text text-transparent;
  43. }
  44. .header__nav-menu {
  45. @apply flex items-center space-x-4;
  46. }
  47. .header__menu-item {
  48. @apply flex items-center;
  49. }
  50. .header__menu-link {
  51. @apply text-gray-600 dark:text-gray-300 hover:text-primary-500 transition-colors duration-200;
  52. }
  53. .header__theme-toggle {
  54. @apply p-2 rounded-lg bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors duration-200;
  55. }
  56. /* Main content */
  57. .main {
  58. @apply flex-1;
  59. }
  60. /* Page transitions */
  61. .page-slide-enter-active,
  62. .page-slide-leave-active {
  63. @apply transition-all duration-300 ease-in-out;
  64. }
  65. .page-slide-enter-from {
  66. @apply opacity-0 transform translate-x-4;
  67. }
  68. .page-slide-leave-to {
  69. @apply opacity-0 transform -translate-x-4;
  70. }
  71. /* Footer */
  72. .footer {
  73. @apply bg-gray-800 dark:bg-gray-900 text-white py-8;
  74. }
  75. .footer__content {
  76. @apply container mx-auto px-4;
  77. }
  78. .footer__sections {
  79. @apply grid grid-cols-1 md:grid-cols-3 gap-8;
  80. }
  81. .footer__section {
  82. @apply flex flex-col;
  83. }
  84. .footer__section-title {
  85. @apply text-lg font-bold mb-4;
  86. }
  87. .footer__section-text {
  88. @apply text-gray-400 mb-2;
  89. }
  90. .footer__links {
  91. @apply flex flex-col space-y-2;
  92. }
  93. .footer__link {
  94. @apply text-gray-400 hover:text-white transition-colors duration-200;
  95. }
  96. /* Утилитарные классы */
  97. .btn-primary {
  98. @apply bg-primary-500 hover:bg-primary-600 text-white px-4 py-2 rounded-lg transition-colors duration-200 font-medium;
  99. }
  100. .btn-secondary {
  101. @apply bg-gray-200 hover:bg-gray-300 dark:bg-gray-700 dark:hover:bg-gray-600 text-gray-800 dark:text-white px-4 py-2 rounded-lg transition-colors duration-200 font-medium;
  102. }
  103. .card {
  104. @apply bg-white dark:bg-gray-800 rounded-lg shadow-md p-6;
  105. }
  106. .form-input {
  107. @apply w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent;
  108. }
  109. .form-label {
  110. @apply block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2;
  111. }
  112. }
  113. /* Темная тема */
  114. @media (prefers-color-scheme: dark) {
  115. :root {
  116. color-scheme: dark;
  117. }
  118. }