main.css 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. @config './tailwind.mobile.js';
  2. @tailwind base;
  3. @tailwind components;
  4. @tailwind utilities;
  5. @layer base {
  6. html {
  7. --safe-bottom: env(safe-area-inset-bottom);
  8. }
  9. [type='text'],
  10. [type='password'],
  11. [type='email'],
  12. [type='number'],
  13. [type='url'],
  14. [type='date'],
  15. [type='datetime-local'],
  16. [type='time'],
  17. [type='search'],
  18. [type='tel'],
  19. select,
  20. select[multiple] {
  21. @apply p-2;
  22. }
  23. textarea {
  24. @apply px-2 py-1;
  25. }
  26. /* Override autofill styles in Firefox. */
  27. :-moz-autofill {
  28. background: transparent;
  29. }
  30. /* Override autofill styles in Webkit-based browsers. */
  31. :-webkit-autofill {
  32. -webkit-text-fill-color: white;
  33. -webkit-background-clip: text;
  34. caret-color: white;
  35. }
  36. /* No-op animation for hooking into autofill mechanism in Webkit-based browsers. */
  37. :-webkit-autofill {
  38. animation-name: onAutoFillStart;
  39. }
  40. :not(:-webkit-autofill) {
  41. animation-name: onAutoFillEnd;
  42. }
  43. @keyframes onAutoFillStart {
  44. from {
  45. }
  46. to {
  47. }
  48. }
  49. @keyframes onAutoFillEnd {
  50. from {
  51. }
  52. to {
  53. }
  54. }
  55. }
  56. @layer components {
  57. .absolute-floating-input:focus-within label,
  58. .absolute-floating-input.formkit-outer[data-populated] label {
  59. @apply -translate-y-2 opacity-75 ltr:translate-x-[2px] ltr:scale-75 rtl:pb-0 rtl:pt-5 rtl:text-xs;
  60. }
  61. .floating-input.formkit-outer[data-populated] label {
  62. @apply text-xs opacity-75;
  63. }
  64. .floating-textarea:focus-within label,
  65. .floating-textarea.formkit-outer[data-populated] label {
  66. @apply translate-y-0 text-xs opacity-75;
  67. }
  68. .required::after {
  69. @apply text-yellow inline-block font-extrabold content-['•'] ltr:ml-1 rtl:mr-1;
  70. }
  71. .form-group {
  72. &.form-group-mark-dirty .formkit-outer[data-dirty]::before {
  73. content: '';
  74. position: absolute;
  75. top: 0;
  76. left: 0;
  77. bottom: 0;
  78. width: 0.25rem;
  79. background: repeating-linear-gradient(
  80. 45deg,
  81. rgba(255, 255, 255, 0.1),
  82. rgba(255, 255, 255, 0.1) 5px,
  83. transparent 5px,
  84. transparent 9px
  85. )
  86. repeat center;
  87. background-size: 11px 11px;
  88. }
  89. .formkit-outer:not(:last-child) {
  90. > :last-child {
  91. @apply border-b border-white/10;
  92. }
  93. }
  94. }
  95. .Content,
  96. .ProseMirror {
  97. [style*='color'] {
  98. color: inherit !important;
  99. }
  100. div[data-signature-marker] {
  101. display: none;
  102. }
  103. &:focus-visible {
  104. outline: none;
  105. }
  106. blockquote {
  107. @apply border-l-4 border-l-gray-200 px-3 py-2;
  108. }
  109. ol {
  110. list-style: decimal;
  111. }
  112. ul {
  113. list-style: disc;
  114. }
  115. ol,
  116. ul {
  117. @apply pb-2;
  118. padding-inline-start: theme('spacing.2');
  119. list-style-position: inside;
  120. p {
  121. display: inline;
  122. }
  123. }
  124. h1 {
  125. @apply mb-1 mt-2 text-2xl font-bold;
  126. }
  127. h2 {
  128. @apply mb-1 mt-2 text-xl font-bold;
  129. }
  130. h3 {
  131. @apply mb-1 mt-2 text-lg font-bold;
  132. }
  133. a {
  134. @apply text-blue;
  135. }
  136. [dir='rtl'] {
  137. text-align: right;
  138. }
  139. [dir='ltr'] {
  140. text-align: left;
  141. }
  142. }
  143. }
  144. @layer utilities {
  145. .pb-safe {
  146. padding-bottom: env(safe-area-inset-bottom);
  147. }
  148. .mb-safe {
  149. margin-bottom: env(safe-area-inset-bottom);
  150. }
  151. }