page.module.css 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. .page {
  2. --gray-rgb: 0, 0, 0;
  3. --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
  4. --gray-alpha-100: rgba(var(--gray-rgb), 0.05);
  5. --button-primary-hover: #383838;
  6. --button-secondary-hover: #f2f2f2;
  7. display: grid;
  8. grid-template-rows: 20px 1fr 20px;
  9. align-items: center;
  10. justify-items: center;
  11. min-height: 100svh;
  12. padding: 80px;
  13. gap: 64px;
  14. font-synthesis: none;
  15. }
  16. @media (prefers-color-scheme: dark) {
  17. .page {
  18. --gray-rgb: 255, 255, 255;
  19. --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
  20. --gray-alpha-100: rgba(var(--gray-rgb), 0.06);
  21. --button-primary-hover: #ccc;
  22. --button-secondary-hover: #1a1a1a;
  23. }
  24. }
  25. .main {
  26. display: flex;
  27. flex-direction: column;
  28. gap: 32px;
  29. grid-row-start: 2;
  30. }
  31. .main ol {
  32. font-family: var(--font-geist-mono);
  33. padding-left: 0;
  34. margin: 0;
  35. font-size: 14px;
  36. line-height: 24px;
  37. letter-spacing: -0.01em;
  38. list-style-position: inside;
  39. }
  40. .main li:not(:last-of-type) {
  41. margin-bottom: 8px;
  42. }
  43. .main code {
  44. font-family: inherit;
  45. background: var(--gray-alpha-100);
  46. padding: 2px 4px;
  47. border-radius: 4px;
  48. font-weight: 600;
  49. }
  50. .ctas {
  51. display: flex;
  52. gap: 16px;
  53. }
  54. .ctas a {
  55. appearance: none;
  56. border-radius: 128px;
  57. height: 48px;
  58. padding: 0 20px;
  59. font-family: var(--font-geist-sans);
  60. border: 1px solid transparent;
  61. transition: background 0.2s, color 0.2s, border-color 0.2s;
  62. cursor: pointer;
  63. display: flex;
  64. align-items: center;
  65. justify-content: center;
  66. font-size: 16px;
  67. line-height: 20px;
  68. font-weight: 500;
  69. }
  70. a.primary {
  71. background: var(--foreground);
  72. color: var(--background);
  73. gap: 8px;
  74. }
  75. a.secondary {
  76. border-color: var(--gray-alpha-200);
  77. min-width: 180px;
  78. }
  79. button.secondary {
  80. appearance: none;
  81. border-radius: 128px;
  82. height: 48px;
  83. padding: 0 20px;
  84. font-family: var(--font-geist-sans);
  85. border: 1px solid transparent;
  86. transition: background 0.2s, color 0.2s, border-color 0.2s;
  87. cursor: pointer;
  88. display: flex;
  89. align-items: center;
  90. justify-content: center;
  91. font-size: 16px;
  92. line-height: 20px;
  93. font-weight: 500;
  94. background: transparent;
  95. border-color: var(--gray-alpha-200);
  96. min-width: 180px;
  97. }
  98. .footer {
  99. font-family: var(--font-geist-sans);
  100. grid-row-start: 3;
  101. display: flex;
  102. gap: 24px;
  103. }
  104. .footer a {
  105. display: flex;
  106. align-items: center;
  107. gap: 8px;
  108. }
  109. .footer img {
  110. flex-shrink: 0;
  111. }
  112. /* Enable hover only on non-touch devices */
  113. @media (hover: hover) and (pointer: fine) {
  114. a.primary:hover {
  115. background: var(--button-primary-hover);
  116. border-color: transparent;
  117. }
  118. a.secondary:hover {
  119. background: var(--button-secondary-hover);
  120. border-color: transparent;
  121. }
  122. .footer a:hover {
  123. text-decoration: underline;
  124. text-underline-offset: 4px;
  125. }
  126. }
  127. @media (max-width: 600px) {
  128. .page {
  129. padding: 32px;
  130. padding-bottom: 80px;
  131. }
  132. .main {
  133. align-items: center;
  134. }
  135. .main ol {
  136. text-align: center;
  137. }
  138. .ctas {
  139. flex-direction: column;
  140. }
  141. .ctas a {
  142. font-size: 14px;
  143. height: 40px;
  144. padding: 0 16px;
  145. }
  146. a.secondary {
  147. min-width: auto;
  148. }
  149. .footer {
  150. flex-wrap: wrap;
  151. align-items: center;
  152. justify-content: center;
  153. }
  154. }
  155. @media (prefers-color-scheme: dark) {
  156. .logo {
  157. filter: invert();
  158. }
  159. }