Home.module.css 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. .main {
  2. display: flex;
  3. flex-direction: column;
  4. justify-content: space-between;
  5. align-items: center;
  6. padding: 1rem;
  7. }
  8. .header {
  9. width: auto;
  10. }
  11. .header p {
  12. text-align: center;
  13. }
  14. .cloudform {
  15. position: relative;
  16. }
  17. .textarea {
  18. position: relative;
  19. resize: none;
  20. font-size: 1.1rem;
  21. padding: 1rem 2rem 1rem 2rem;
  22. width: 75vw;
  23. border-radius: 0.5rem;
  24. border: 1px solid #d9d9e3;
  25. background: #ffffff;
  26. color: #000;
  27. outline: none;
  28. }
  29. .textarea:disabled {
  30. opacity: 0.5;
  31. }
  32. .textarea:focus {
  33. outline: none;
  34. border-color: #6b7280;
  35. box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.5);
  36. }
  37. .textarea::placeholder {
  38. color: #6b7280;
  39. }
  40. .generatebutton {
  41. position: absolute;
  42. top: 0.87rem;
  43. right: 1rem;
  44. color: rgb(165, 162, 162);
  45. background: none;
  46. padding: 0.3rem;
  47. border: none;
  48. display: flex;
  49. }
  50. .loadingwheel {
  51. position: absolute;
  52. top: 0.2rem;
  53. right: 0.25rem;
  54. }
  55. .svgicon {
  56. transform: rotate(90deg);
  57. width: 1.2em;
  58. height: 1.2em;
  59. fill: currentColor;
  60. }
  61. .generatebutton:hover {
  62. background: #e4575726;
  63. border-radius: 0.2rem;
  64. }
  65. .generatebutton:disabled {
  66. opacity: 0.9;
  67. cursor: not-allowed;
  68. background: none;
  69. }
  70. .messagelist {
  71. width: 100%;
  72. height: 100%;
  73. overflow-y: scroll;
  74. border-radius: 0.5rem;
  75. }
  76. .messagelistloading {
  77. display: flex;
  78. width: 100%;
  79. justify-content: center;
  80. margin-top: 1rem;
  81. }
  82. .usermessage {
  83. background: #ffffff;
  84. padding: 1.5rem;
  85. color: #000;
  86. }
  87. .usermessagewaiting {
  88. padding: 1.5rem;
  89. color: #000;
  90. background: linear-gradient(to left, #07080938, #1a1c2024, #07080936);
  91. background-size: 200% 200%;
  92. background-position: -100% 0;
  93. animation: loading-gradient 2s ease-in-out infinite;
  94. animation-direction: alternate;
  95. animation-name: loading-gradient;
  96. }
  97. @keyframes loading-gradient {
  98. 0% {
  99. background-position: -100% 0;
  100. }
  101. 100% {
  102. background-position: 100% 0;
  103. }
  104. }
  105. .apimessage {
  106. background: #f9fafb;
  107. padding: 1.5rem;
  108. color: #000;
  109. animation: fadein 0.5s;
  110. }
  111. @keyframes fadein {
  112. from {
  113. opacity: 0;
  114. }
  115. to {
  116. opacity: 1;
  117. }
  118. }
  119. .apimessage,
  120. .usermessage,
  121. .usermessagewaiting {
  122. display: flex;
  123. }
  124. .markdownanswer {
  125. line-height: 1.75;
  126. }
  127. .markdownanswer a:hover {
  128. opacity: 0.8;
  129. }
  130. .markdownanswer a {
  131. color: #b13a3a;
  132. font-weight: 500;
  133. }
  134. .markdownanswer code {
  135. color: #15cb19;
  136. font-weight: 500;
  137. white-space: pre-wrap !important;
  138. }
  139. .markdownanswer ol,
  140. .markdownanswer ul {
  141. margin: 1rem;
  142. }
  143. .boticon,
  144. .usericon {
  145. margin-right: 1rem;
  146. border-radius: 0.1rem;
  147. height: 100%;
  148. }
  149. .markdownanswer h1,
  150. .markdownanswer h2,
  151. .markdownanswer h3 {
  152. font-size: inherit;
  153. }
  154. .center {
  155. display: flex;
  156. justify-content: center;
  157. align-items: center;
  158. position: relative;
  159. padding: 1rem 0;
  160. flex-direction: column;
  161. }
  162. .cloud {
  163. width: 75vw;
  164. height: 65vh;
  165. background: #ffffff;
  166. border-radius: 0.5rem;
  167. border: 1px solid #d9d9e3;
  168. display: flex;
  169. justify-content: center;
  170. align-items: center;
  171. }
  172. .pointsnormal {
  173. width: 90%;
  174. height: 90%;
  175. }
  176. .pointsdim {
  177. width: 90%;
  178. height: 90%;
  179. opacity: 0.25;
  180. }
  181. .footer {
  182. color: #5f6368;
  183. font-size: 0.8rem;
  184. margin: 1.5rem;
  185. }
  186. .footer a {
  187. font-weight: 500;
  188. color: #7a7d81;
  189. }
  190. .footer a:hover {
  191. opacity: 0.8;
  192. }
  193. /* Mobile optimization */
  194. @media (max-width: 600px) {
  195. .main {
  196. padding: 1rem;
  197. max-height: 90vh;
  198. }
  199. .cloud {
  200. width: 22rem;
  201. height: 28rem;
  202. }
  203. .textarea {
  204. width: 22rem;
  205. }
  206. .topnav {
  207. border: 1px solid black;
  208. align-items: center;
  209. padding: 0.85rem 0.75rem 0.85rem 0.75rem;
  210. }
  211. .navlogo {
  212. font-size: 1.25rem;
  213. width: 20rem;
  214. }
  215. .markdownanswer code {
  216. white-space: pre-wrap !important;
  217. }
  218. .footer {
  219. font-size: 0.7rem;
  220. width: 100%;
  221. text-align: center;
  222. }
  223. }