app.css 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. @font-face {
  2. font-family: 'Inter';
  3. src: url('/assets/fonts/Inter-Variable.ttf');
  4. font-display: swap;
  5. }
  6. @font-face {
  7. font-family: 'Archivo';
  8. src: url('/assets/fonts/Archivo-Variable.ttf');
  9. font-display: swap;
  10. }
  11. @font-face {
  12. font-family: 'Mona Sans';
  13. src: url('/assets/fonts/Mona-Sans.woff2');
  14. font-display: swap;
  15. }
  16. @font-face {
  17. font-family: 'InstrumentSerif';
  18. src: url('/assets/fonts/InstrumentSerif-Regular.ttf');
  19. font-display: swap;
  20. }
  21. html {
  22. word-break: break-word;
  23. }
  24. code {
  25. /* white-space-collapse: preserve !important; */
  26. overflow-x: auto;
  27. width: auto;
  28. }
  29. .font-secondary {
  30. font-family: 'InstrumentSerif', sans-serif;
  31. }
  32. math {
  33. margin-top: 1rem;
  34. }
  35. .hljs {
  36. @apply rounded-lg;
  37. }
  38. .input-prose {
  39. @apply prose dark:prose-invert prose-headings:font-semibold prose-hr:my-4 prose-hr:border-gray-100 prose-hr:dark:border-gray-800 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
  40. }
  41. .input-prose-sm {
  42. @apply prose dark:prose-invert prose-headings:font-semibold prose-hr:my-4 prose-hr:border-gray-100 prose-hr:dark:border-gray-800 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line text-sm;
  43. }
  44. .markdown-prose {
  45. @apply prose dark:prose-invert prose-headings:font-semibold prose-hr:my-4 prose-p:my-0 prose-img:my-1 prose-headings:my-1 prose-pre:my-0 prose-table:my-0 prose-blockquote:my-0 prose-ul:-my-0 prose-ol:-my-0 prose-li:-my-0 whitespace-pre-line;
  46. }
  47. .markdown a {
  48. @apply underline;
  49. }
  50. .font-primary {
  51. font-family: 'Archivo', sans-serif;
  52. }
  53. iframe {
  54. @apply rounded-lg;
  55. }
  56. li p {
  57. display: inline;
  58. }
  59. ::-webkit-scrollbar-thumb {
  60. --tw-border-opacity: 1;
  61. background-color: rgba(236, 236, 236, 0.8);
  62. border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  63. border-radius: 9999px;
  64. border-width: 1px;
  65. }
  66. /* Dark theme scrollbar styles */
  67. .dark ::-webkit-scrollbar-thumb {
  68. background-color: rgba(33, 33, 33, 0.8); /* Darker color for dark theme */
  69. border-color: rgba(0, 0, 0, var(--tw-border-opacity));
  70. }
  71. ::-webkit-scrollbar {
  72. height: 0.4rem;
  73. width: 0.4rem;
  74. }
  75. ::-webkit-scrollbar-track {
  76. background-color: transparent;
  77. border-radius: 9999px;
  78. }
  79. select {
  80. background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
  81. background-position: right 0.5rem center;
  82. background-repeat: no-repeat;
  83. background-size: 1.5em 1.5em;
  84. padding-right: 2.5rem;
  85. -webkit-print-color-adjust: exact;
  86. print-color-adjust: exact;
  87. /* for Firefox */
  88. -moz-appearance: none;
  89. /* for Chrome */
  90. -webkit-appearance: none;
  91. }
  92. .katex-mathml {
  93. display: none;
  94. }
  95. .scrollbar-hidden:active::-webkit-scrollbar-thumb,
  96. .scrollbar-hidden:focus::-webkit-scrollbar-thumb,
  97. .scrollbar-hidden:hover::-webkit-scrollbar-thumb {
  98. visibility: visible;
  99. }
  100. .scrollbar-hidden::-webkit-scrollbar-thumb {
  101. visibility: hidden;
  102. }
  103. .scrollbar-hidden::-webkit-scrollbar-corner {
  104. display: none;
  105. }
  106. .scrollbar-none::-webkit-scrollbar {
  107. display: none; /* for Chrome, Safari and Opera */
  108. }
  109. .scrollbar-none::-webkit-scrollbar-corner {
  110. display: none;
  111. }
  112. .scrollbar-none {
  113. -ms-overflow-style: none; /* IE and Edge */
  114. scrollbar-width: none; /* Firefox */
  115. }
  116. input::-webkit-outer-spin-button,
  117. input::-webkit-inner-spin-button {
  118. /* display: none; <- Crashes Chrome on hover */
  119. -webkit-appearance: none;
  120. margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
  121. }
  122. input[type='number'] {
  123. -moz-appearance: textfield; /* Firefox */
  124. }
  125. .cm-editor {
  126. height: 100%;
  127. width: 100%;
  128. }
  129. .cm-scroller {
  130. @apply scrollbar-hidden;
  131. }
  132. .cm-editor.cm-focused {
  133. outline: none;
  134. }
  135. .tippy-box[data-theme~='dark'] {
  136. @apply rounded-lg bg-gray-950 text-xs border border-gray-900 shadow-xl;
  137. }
  138. .password {
  139. -webkit-text-security: disc;
  140. }
  141. .codespan {
  142. color: #eb5757;
  143. border-width: 0px;
  144. padding: 3px 8px;
  145. font-size: 0.8em;
  146. font-weight: 600;
  147. @apply rounded-md dark:bg-gray-800 bg-gray-100 mx-0.5;
  148. }
  149. .svelte-flow {
  150. background-color: transparent !important;
  151. }
  152. .svelte-flow__edge > path {
  153. stroke-width: 0.5;
  154. }
  155. .svelte-flow__edge.animated > path {
  156. stroke-width: 2;
  157. @apply stroke-gray-600 dark:stroke-gray-500;
  158. }
  159. .bg-gray-950-90 {
  160. background-color: rgba(var(--color-gray-950, #0d0d0d), 0.9);
  161. }
  162. .ProseMirror {
  163. @apply h-full min-h-fit max-h-full whitespace-pre-wrap;
  164. }
  165. .ProseMirror:focus {
  166. outline: none;
  167. }
  168. .ProseMirror p.is-editor-empty:first-child::before {
  169. content: attr(data-placeholder);
  170. float: left;
  171. color: #adb5bd;
  172. pointer-events: none;
  173. @apply line-clamp-1 absolute;
  174. }
  175. .ai-autocompletion::after {
  176. color: #a0a0a0;
  177. content: attr(data-suggestion);
  178. pointer-events: none;
  179. }
  180. .tiptap > pre > code {
  181. border-radius: 0.4rem;
  182. font-size: 0.85rem;
  183. padding: 0.25em 0.3em;
  184. @apply dark:bg-gray-800 bg-gray-100;
  185. }
  186. .tiptap > pre {
  187. border-radius: 0.5rem;
  188. font-family: 'JetBrainsMono', monospace;
  189. margin: 1.5rem 0;
  190. padding: 0.75rem 1rem;
  191. @apply dark:bg-gray-800 bg-gray-100;
  192. }
  193. .tiptap p code {
  194. color: #eb5757;
  195. border-width: 0px;
  196. padding: 3px 8px;
  197. font-size: 0.8em;
  198. font-weight: 600;
  199. @apply rounded-md dark:bg-gray-800 bg-gray-100 mx-0.5;
  200. }
  201. /* Code styling */
  202. .hljs-comment,
  203. .hljs-quote {
  204. color: #616161;
  205. }
  206. .hljs-variable,
  207. .hljs-template-variable,
  208. .hljs-attribute,
  209. .hljs-tag,
  210. .hljs-regexp,
  211. .hljs-link,
  212. .hljs-name,
  213. .hljs-selector-id,
  214. .hljs-selector-class {
  215. color: #f98181;
  216. }
  217. .hljs-number,
  218. .hljs-meta,
  219. .hljs-built_in,
  220. .hljs-builtin-name,
  221. .hljs-literal,
  222. .hljs-type,
  223. .hljs-params {
  224. color: #fbbc88;
  225. }
  226. .hljs-string,
  227. .hljs-symbol,
  228. .hljs-bullet {
  229. color: #b9f18d;
  230. }
  231. .hljs-title,
  232. .hljs-section {
  233. color: #faf594;
  234. }
  235. .hljs-keyword,
  236. .hljs-selector-tag {
  237. color: #70cff8;
  238. }
  239. .hljs-emphasis {
  240. font-style: italic;
  241. }
  242. .hljs-strong {
  243. font-weight: 700;
  244. }