1
0

tailwind-input.css 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. @tailwind base;
  2. @tailwind components;
  3. @tailwind utilities;
  4. /* Custom styles from base.html */
  5. /* Dark mode styles */
  6. .dark {
  7. color-scheme: dark;
  8. }
  9. .dark body {
  10. background-color: #1a1a1a;
  11. color: #e5e5e5;
  12. }
  13. .dark header {
  14. background-color: #262626;
  15. border-color: #404040;
  16. }
  17. .dark footer {
  18. background-color: #262626;
  19. border-color: #404040;
  20. }
  21. .dark .inactive-tab {
  22. color: #9ca3af;
  23. }
  24. .dark .inactive-tab:hover {
  25. color: #d1d5db;
  26. }
  27. .dark #player-status-bar-container {
  28. background-color: #262626;
  29. color: #e5e5e5;
  30. }
  31. .dark .bg-gray-100 {
  32. background-color: #262626;
  33. }
  34. .dark .bg-gray-200 {
  35. background-color: #404040;
  36. }
  37. .dark .bg-gray-300 {
  38. background-color: #525252;
  39. }
  40. .dark .text-gray-500 {
  41. color: #9ca3af;
  42. }
  43. .dark .text-gray-700 {
  44. color: #d1d5db;
  45. }
  46. .dark .text-gray-800 {
  47. color: #e5e5e5;
  48. }
  49. .dark .border-gray-200 {
  50. border-color: #404040;
  51. }
  52. .dark .hover\:bg-gray-200:hover {
  53. background-color: #404040;
  54. }
  55. .dark .hover\:bg-gray-300:hover {
  56. background-color: #525252;
  57. }
  58. .dark .hover\:border-gray-300:hover {
  59. border-color: #525252;
  60. }
  61. .dark .hover\:bg-gray-50:hover {
  62. background-color: #262626;
  63. }
  64. .dark .bg-white {
  65. background-color: #262626;
  66. }
  67. .dark .bg-gray-50 {
  68. background-color: #1a1a1a;
  69. }
  70. .dark .text-gray-900 {
  71. color: #e5e5e5;
  72. }
  73. .dark .text-gray-400 {
  74. color: #9ca3af;
  75. }
  76. .dark .border-gray-300 {
  77. border-color: #404040;
  78. }
  79. .dark .focus\:ring-offset-2 {
  80. --tw-ring-offset-color: #262626;
  81. }
  82. .dark .shadow-sm {
  83. box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  84. }
  85. .dark .shadow-lg {
  86. box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
  87. }
  88. .dark .shadow-xl {
  89. box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
  90. }
  91. /* Tab styles */
  92. @layer components {
  93. .active-tab {
  94. @apply text-blue-600 border-blue-600;
  95. }
  96. .active-tab .material-icons {
  97. @apply text-blue-600;
  98. }
  99. .inactive-tab {
  100. @apply text-gray-500;
  101. }
  102. .inactive-tab:hover {
  103. @apply text-gray-700;
  104. }
  105. .btn {
  106. @apply px-4 py-2 rounded-lg font-medium transition-colors duration-150;
  107. }
  108. .btn-primary {
  109. @apply bg-blue-600 text-white hover:bg-blue-700;
  110. }
  111. .btn-secondary {
  112. @apply bg-gray-200 text-gray-700 hover:bg-gray-300;
  113. }
  114. .form-input {
  115. @apply block w-full rounded-lg border-gray-300 shadow-sm focus:border-blue-500 focus:ring-1 focus:ring-blue-500;
  116. }
  117. }
  118. /* Status message transition */
  119. #status-message {
  120. transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
  121. }
  122. /* Switch toggle styles */
  123. .switch {
  124. position: relative;
  125. display: inline-block;
  126. width: 40px;
  127. height: 20px;
  128. }
  129. .switch input {
  130. opacity: 0;
  131. width: 0;
  132. height: 0;
  133. }
  134. .slider {
  135. position: absolute;
  136. cursor: pointer;
  137. top: 0;
  138. left: 0;
  139. right: 0;
  140. bottom: 0;
  141. background-color: #ccc;
  142. transition: .4s;
  143. border-radius: 20px;
  144. }
  145. .slider:before {
  146. position: absolute;
  147. content: "";
  148. height: 16px;
  149. width: 16px;
  150. left: 2px;
  151. bottom: 2px;
  152. background-color: white;
  153. transition: .4s;
  154. border-radius: 50%;
  155. }
  156. input:checked + .slider {
  157. background-color: #0c7ff2;
  158. }
  159. input:checked + .slider:before {
  160. transform: translateX(20px);
  161. }
  162. /* Shadow for top of status bar */
  163. .shadow-lg-top {
  164. box-shadow: 0 -4px 6px -1px rgb(0 0 0 / 0.1), 0 -2px 4px -2px rgb(0 0 0 / 0.1);
  165. }
  166. /* Marquee animation for pattern name on small screens */
  167. @keyframes marquee {
  168. 0% { transform: translateX(0%); }
  169. 50% { transform: translateX(-50%); }
  170. }
  171. .pattern-marquee {
  172. display: inline-block;
  173. min-width: 100%;
  174. animation: marquee 8s linear infinite;
  175. }
  176. @media (min-width: 640px) { /* sm: and up, disable marquee */
  177. .pattern-marquee {
  178. animation: none !important;
  179. transform: none !important;
  180. }
  181. }