engineering blog at https://blog.tangled.sh
1@tailwind base; 2@tailwind components; 3@tailwind utilities; 4@layer base { 5 @font-face { 6 font-family: "InterVariable"; 7 src: url("/static/fonts/InterVariable.woff2") format("woff2"); 8 font-weight: normal; 9 font-style: normal; 10 font-display: swap; 11 } 12 13 @font-face { 14 font-family: "InterVariable"; 15 src: url("/static/fonts/InterVariable-Italic.woff2") format("woff2"); 16 font-weight: normal; 17 font-style: italic; 18 font-display: swap; 19 } 20 21 @font-face { 22 font-family: "InterDisplay"; 23 src: url("/static/fonts/InterDisplay-Regular.woff2") format("woff2"); 24 font-weight: normal; 25 font-style: normal; 26 font-display: swap; 27 } 28 29 @font-face { 30 font-family: "IBMPlexMono"; 31 src: url("/static/fonts/IBMPlexMono-Regular.woff2") format("woff2"); 32 font-weight: normal; 33 font-style: italic; 34 font-display: swap; 35 } 36 37 h1 { 38 @apply text-2xl; 39 @apply text-black; 40 @apply font-bold; 41 } 42 43 ::selection { 44 @apply bg-yellow-400; 45 @apply bg-opacity-30; 46 } 47 48 @layer base { 49 html { 50 font-size: 14px; 51 scrollbar-gutter: stable; 52 } 53 @supports (font-variation-settings: normal) { 54 html { 55 font-feature-settings: 56 "ss01" 1, 57 "kern" 1, 58 "liga" 1, 59 "cv05" 1, 60 "tnum" 1; 61 } 62 } 63 64 a { 65 @apply no-underline text-black hover:underline hover:text-gray-800 dark:text-white dark:hover:text-gray-300; 66 } 67 68 img { 69 @apply dark:brightness-75 dark:opacity-90 border border-gray-200 rounded-sm dark:border-gray-700; 70 } 71 72 label { 73 @apply block mb-2 text-gray-900 text-sm font-bold py-2 uppercase dark:text-gray-100; 74 } 75 input { 76 @apply bg-white border border-gray-400 rounded-sm focus:ring-black p-3 dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:ring-gray-400; 77 } 78 textarea { 79 @apply bg-white border border-gray-400 rounded-sm focus:ring-black p-3 dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:ring-gray-400; 80 } 81 details summary::-webkit-details-marker { 82 display: none; 83 } 84 } 85 86 @layer components { 87 .btn { 88 @apply relative z-10 inline-flex min-h-[30px] cursor-pointer items-center 89 justify-center bg-transparent px-2 pb-[0.2rem] text-base 90 text-gray-900 before:absolute before:inset-0 before:-z-10 91 before:block before:rounded-sm before:border before:border-gray-200 92 before:bg-white before:drop-shadow-sm 93 before:content-[''] hover:before:border-gray-300 94 hover:before:bg-gray-50 95 hover:before:shadow-[0_2px_2px_0_rgba(20,20,96,0.1),inset_0_-2px_0_0_#f5f5f5] 96 focus:outline-none focus-visible:before:outline 97 focus-visible:before:outline-4 focus-visible:before:outline-gray-500 98 active:before:shadow-[inset_0_2px_2px_0_rgba(20,20,96,0.1)]; 99 } 100 } 101 @layer utilities { 102 .error { 103 @apply py-1 text-red-400; 104 } 105 .success { 106 @apply py-1 text-black; 107 } 108 } 109}