globals.css 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. @import 'tailwindcss';
  2. @import 'tw-animate-css';
  3. @import 'shadcn/tailwind.css';
  4. @custom-variant dark (&:is(.dark *));
  5. @theme inline {
  6. --color-background: var(--background);
  7. --color-foreground: var(--foreground);
  8. --font-sans: var(--font-sans);
  9. --font-mono: var(--font-geist-mono);
  10. --color-sidebar-ring: var(--sidebar-ring);
  11. --color-sidebar-border: var(--sidebar-border);
  12. --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  13. --color-sidebar-accent: var(--sidebar-accent);
  14. --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  15. --color-sidebar-primary: var(--sidebar-primary);
  16. --color-sidebar-foreground: var(--sidebar-foreground);
  17. --color-sidebar: var(--sidebar);
  18. --color-chart-5: var(--chart-5);
  19. --color-chart-4: var(--chart-4);
  20. --color-chart-3: var(--chart-3);
  21. --color-chart-2: var(--chart-2);
  22. --color-chart-1: var(--chart-1);
  23. --color-ring: var(--ring);
  24. --color-input: var(--input);
  25. --color-border: var(--border);
  26. --color-destructive: var(--destructive);
  27. --color-accent-foreground: var(--accent-foreground);
  28. --color-accent: var(--accent);
  29. --color-muted-foreground: var(--muted-foreground);
  30. --color-muted: var(--muted);
  31. --color-secondary-foreground: var(--secondary-foreground);
  32. --color-secondary: var(--secondary);
  33. --color-primary-foreground: var(--primary-foreground);
  34. --color-primary: var(--primary);
  35. --color-popover-foreground: var(--popover-foreground);
  36. --color-popover: var(--popover);
  37. --color-card-foreground: var(--card-foreground);
  38. --color-card: var(--card);
  39. --radius-sm: calc(var(--radius) - 4px);
  40. --radius-md: calc(var(--radius) - 2px);
  41. --radius-lg: var(--radius);
  42. --radius-xl: calc(var(--radius) + 4px);
  43. --radius-2xl: calc(var(--radius) + 8px);
  44. --radius-3xl: calc(var(--radius) + 12px);
  45. --radius-4xl: calc(var(--radius) + 16px);
  46. }
  47. :root {
  48. --background: oklch(1 0 0);
  49. --foreground: oklch(0.145 0 0);
  50. --card: oklch(1 0 0);
  51. --card-foreground: oklch(0.145 0 0);
  52. --popover: oklch(1 0 0);
  53. --popover-foreground: oklch(0.145 0 0);
  54. --primary: #722ed1;
  55. --primary-foreground: oklch(0.985 0 0);
  56. --secondary: oklch(0.97 0 0);
  57. --secondary-foreground: oklch(0.205 0 0);
  58. --muted: oklch(0.97 0 0);
  59. --muted-foreground: oklch(0.556 0 0);
  60. --accent: oklch(0.97 0 0);
  61. --accent-foreground: oklch(0.205 0 0);
  62. --destructive: oklch(0.58 0.22 27);
  63. --border: oklch(0.922 0 0);
  64. --input: oklch(0.922 0 0);
  65. --ring: oklch(0.708 0 0);
  66. --chart-1: oklch(0.809 0.105 251.813);
  67. --chart-2: oklch(0.623 0.214 259.815);
  68. --chart-3: oklch(0.546 0.245 262.881);
  69. --chart-4: oklch(0.488 0.243 264.376);
  70. --chart-5: oklch(0.424 0.199 265.638);
  71. --radius: 0.625rem;
  72. --sidebar: oklch(0.985 0 0);
  73. --sidebar-foreground: oklch(0.145 0 0);
  74. --sidebar-primary: oklch(0.205 0 0);
  75. --sidebar-primary-foreground: oklch(0.985 0 0);
  76. --sidebar-accent: oklch(0.97 0 0);
  77. --sidebar-accent-foreground: oklch(0.205 0 0);
  78. --sidebar-border: oklch(0.922 0 0);
  79. --sidebar-ring: oklch(0.708 0 0);
  80. }
  81. .dark {
  82. --background: oklch(0.145 0 0);
  83. --foreground: oklch(0.985 0 0);
  84. --card: oklch(0.205 0 0);
  85. --card-foreground: oklch(0.985 0 0);
  86. --popover: oklch(0.205 0 0);
  87. --popover-foreground: oklch(0.985 0 0);
  88. --primary: #8b47ea;
  89. --primary-foreground: oklch(0.205 0 0);
  90. --secondary: oklch(0.269 0 0);
  91. --secondary-foreground: oklch(0.985 0 0);
  92. --muted: oklch(0.269 0 0);
  93. --muted-foreground: oklch(0.708 0 0);
  94. --accent: oklch(0.371 0 0);
  95. --accent-foreground: oklch(0.985 0 0);
  96. --destructive: oklch(0.704 0.191 22.216);
  97. --border: oklch(1 0 0 / 10%);
  98. --input: oklch(1 0 0 / 15%);
  99. --ring: oklch(0.556 0 0);
  100. --chart-1: oklch(0.809 0.105 251.813);
  101. --chart-2: oklch(0.623 0.214 259.815);
  102. --chart-3: oklch(0.546 0.245 262.881);
  103. --chart-4: oklch(0.488 0.243 264.376);
  104. --chart-5: oklch(0.424 0.199 265.638);
  105. --sidebar: oklch(0.205 0 0);
  106. --sidebar-foreground: oklch(0.985 0 0);
  107. --sidebar-primary: oklch(0.488 0.243 264.376);
  108. --sidebar-primary-foreground: oklch(0.985 0 0);
  109. --sidebar-accent: oklch(0.269 0 0);
  110. --sidebar-accent-foreground: oklch(0.985 0 0);
  111. --sidebar-border: oklch(1 0 0 / 10%);
  112. --sidebar-ring: oklch(0.556 0 0);
  113. }
  114. @layer base {
  115. * {
  116. @apply border-border outline-ring/50;
  117. }
  118. body {
  119. @apply bg-background text-foreground;
  120. }
  121. }
  122. /* ProseMirror Editor Styles */
  123. .prosemirror-editor {
  124. cursor: text;
  125. }
  126. .prosemirror-editor.format-painter {
  127. cursor:
  128. url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuMzUuMDEybC0uMDY2Ljk5OGE1LjI3MSA1LjI3MSAwIDAwLTEuMTg0LjA2IDMuOCAzLjggMCAwMC0uOTMzLjQ3MmMtLjQ0LjM1Ni0uNzgzLjgxMS0uOTk4IDEuMzI0bC4wMTgtLjAzNnY1LjEySDEuMDR2Ljk4aC0xLjA0bC0uMDAyIDQuMTVjLjE4Ny40MjYuNDYuODEuNzkxIDEuMTE3bC4xNzUuMTUyYy4yOTMuMjA4LjYxNS4zNzMuODkuNDcyLjQxLjA4Mi44My4xMTIgMS4yNDkuMDlsLjA1Ny45OTlhNi4wNjMgNi4wNjMgMCAwMS0xLjU4OC0uMTI5IDQuODM2IDQuODM2IDAgMDEtMS4yNS0uNjQ3IDQuNDYzIDQuNDYzIDAgMDEtLjgzOC0uODgzYy0uMjI0LjMzMi0uNS42NDItLjgyNC45MjdhNC4xMSA0LjExIDAgMDEtMS4zMDUuNjMzQTYuMTI2IDYuMTI2IDAgMDEwIDE1LjkwOWwuMDY4LS45OTdjLjQyNC4wMjYuODUtLjAwMSAxLjIxNy0uMDcuMzM2LS4wOTkuNjUxLS4yNTQuODk0LS40My40My0uMzguNzY1LS44NDcuOTgyLTEuMzY4bC0uMDA1LjAxNFY4LjkzSDIuMTE1di0uOThoMS4wNFYyLjg2MmEzLjc3IDMuNzcgMCAwMC0uNzc0LTEuMTY3bC0uMTY1LS4xNTZhMy4wNjQgMy4wNjQgMCAwMC0uODgtLjQ0OEE1LjA2MiA1LjA2MiAwIDAwLjA2NyAxLjAxTDAgLjAxMmE2LjE0IDYuMTQgMCAwMTEuNTkyLjExYy40NTMuMTM1Ljg3Ny4zNDUgMS4yOS42NS4zLjI2NS41NjUuNTY0Ljc4Ny44OS4yMzMtLjMzMS41Mi0uNjM0Ljg1My0uOTA0YTQuODM1IDQuODM1IDAgMDExLjMtLjY0OEE2LjE1NSA2LjE1NSAwIDAxNy4zNS4wMTJ6IiBmaWxsPSIjMEQwRDBEIi8+PHBhdGggZD0iTTE3LjM1IDE0LjVsNC41LTQuNS02LTZjLTIgMi0zIDItNS41IDIuNS40IDMuMiA0LjgzMyA2LjY2NyA3IDh6bTQuNTg4LTQuNDkzYS4zLjMgMCAwMC40MjQgMGwuNjgtLjY4YTEuNSAxLjUgMCAwMDAtMi4xMjJMMjEuNjkgNS44NTNsMi4wMjUtMS41ODNhMS42MjkgMS42MjkgMCAxMC0yLjI3OS0yLjI5NmwtMS42MDMgMi4wMjItMS4zNTctMS4zNTdhMS41IDEuNSAwIDAwLTIuMTIxIDBsLS42OC42OGEuMy4zIDAgMDAwIC40MjVsNi4yNjMgNi4yNjN6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTE1Ljg5MiAzLjk2MnMtMS4wMyAxLjIwMi0yLjQ5NCAxLjg5Yy0xLjAwNi40NzQtMi4xOC41ODYtMi43MzQuNjI3LS4yLjAxNS0uMzQ0LjIxLS4yNzYuMzk5LjI5Mi44MiAxLjExMiAyLjggMi42NTggNC4zNDYgMi4xMjYgMi4xMjcgMy42NTggMi45NjggNC4xNDIgMy4yMDMuMS4wNDguMjE0LjAzLjI5OC0uMDQyLjM4Ni0uMzI1IDEuNS0xLjI3NyAyLjIxLTEuOTg2Ljg5Mi0uODg5IDIuMTg3LTIuNDQ3IDIuMTg3LTIuNDQ3bS40NzkuMDU1YS4zLjMgMCAwMS0uNDI0IDBsLTYuMjY0LTYuMjYzYS4zLjMgMCAwMTAtLjQyNWwuNjgtLjY4YTEuNSAxLjUgMCAwMTIuMTIyIDBsMS4zNTcgMS4zNTcgMS42MDMtMi4wMjJhMS42MjkgMS42MjkgMCAxMTIuMjggMi4yOTZMMjEuNjkgNS44NTNsMS4zNTIgMS4zNTJhMS41IDEuNSAwIDAxMCAyLjEyMmwtLjY4LjY4eiIgc3Ryb2tlPSIjMzMzIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+')
  129. 2 5,
  130. default !important;
  131. }
  132. /* Animation for audio visualizer */
  133. @keyframes wave {
  134. 0%,
  135. 100% {
  136. height: 30%;
  137. }
  138. 50% {
  139. height: 100%;
  140. }
  141. }
  142. /* Breathing bars for presentation speech bubbles (parent is h-3.5 = 14px) */
  143. @keyframes breathing-bar-1 {
  144. 0%,
  145. 100% {
  146. height: 3px;
  147. }
  148. 50% {
  149. height: 14px;
  150. }
  151. }
  152. @keyframes breathing-bar-2 {
  153. 0%,
  154. 100% {
  155. height: 6px;
  156. }
  157. 50% {
  158. height: 14px;
  159. }
  160. }
  161. @keyframes breathing-bar-3 {
  162. 0%,
  163. 100% {
  164. height: 3px;
  165. }
  166. 50% {
  167. height: 11px;
  168. }
  169. }
  170. /* Hide scrollbar by default, show on hover */
  171. @utility scrollbar-hide {
  172. &::-webkit-scrollbar {
  173. display: none;
  174. }
  175. -ms-overflow-style: none;
  176. scrollbar-width: none;
  177. }
  178. /* Shimmer sweep for skeleton loading */
  179. @keyframes shimmer {
  180. 0% {
  181. transform: translateX(-100%);
  182. }
  183. 100% {
  184. transform: translateX(100%);
  185. }
  186. }