@tailwind base; @tailwind components; @tailwind utilities; :root { --color-gray-50: #fafafa; --color-gray-100: #f4f4f5; --color-gray-200: #e4e4e7; --color-gray-300: #d4d4d8; --color-gray-400: #a1a1aa; --color-gray-500: #71717a; --color-gray-600: #52525b; --color-gray-700: #3f3f46; --color-gray-800: #27272a; --color-gray-900: #18181b; --color-gray-950: #09090b; --color-red-50: #fef2f2; --color-red-100: #fee2e2; --color-red-200: #fecaca; --color-red-300: #fca5a5; --color-red-400: #f87171; --color-red-500: #ef4444; --color-red-600: #dc2626; --color-red-700: #b91c1c; --color-red-800: #991b1b; --color-red-900: #7f1d1d; --color-red-950: #450a0a; } :focus-visible { outline: 6px solid theme(colors.blue.500 / 50%); border-radius: 3px; } /* Typography */ .prose :is(p, h1, h2, h3, h4, h5, h6, ul, ol, li, pre) { @apply mb-4; } .prose :is(h1, h2, h3, h4, h5, h6) { @apply mt-8; } .link, .prose a { @apply text-red-900 hover:text-red-600 dark:text-red-300 dark:hover:text-red-400 border-b-4 border-red-500/25 dark:border-red-200/25; transition: color 200ms; } :is(.list, .prose ul) li { position: relative; margin-left: 1.5em; } :is(.list, .prose ul) li::before { content: "–"; display: inline-block; position: absolute; width: 1.5em; left: -1.5em; } .subheading, .prose h3 { @apply font-bold text-red-800 dark:text-red-300; } :is(.subheading, .prose h3)::before { content: "★"; font-weight: 500; margin-right: 0.75em; } .subsubheading, .prose h4 { font-weight: 500; } .code-block, pre { @apply bg-gray-100 dark:bg-gray-800; border-radius: 0.25em; overflow-x: auto; padding: 1em; position: relative; } .code-inline, code { @apply bg-gray-100 dark:bg-gray-800; padding: 0.125em 0.25em; border-radius: 0.25em; font-size: 0.875em; } /* Background */ .clip-wedge { --wedge-skew: 10vw; clip-path: polygon(0 var(--wedge-skew), 100% 0, 100% calc(100% - var(--wedge-skew)), 0% 100% ); } @media screen(md) { .clip-wedge { --wedge-skew: 8vw; } } @media screen(lg) { .clip-wedge { --wedge-skew: 5vw; } } /* Components */ .button { padding-block: 0.5em; padding-inline: 1.5em; min-width: 6em; text-align: center; border-radius: 0.5rem; transition: background-color 120ms linear; &:not(:disabled):hover { background-color: var(--hover-color); } } .button--icon { border-radius: 100px; padding-inline: 0.5em; padding-block: 0.5em; min-width: auto; display: inline-flex; align-items: center; gap: 0.5em; --hover-color: theme(colors.gray.400 / 25%); } .button--primary { background-color: theme(colors.red.700); color: white; --hover-color: theme(colors.red.800); } .dark .button--primary { background-color: theme(colors.red.800); --hover-color: theme(colors.red.700); } .button--secondary { background-color: theme(colors.gray.200); --hover-color: theme(colors.gray.300) } .dark .button--secondary { background-color: theme(colors.gray.800); --hover-color: theme(colors.gray.700); } .input { padding: 0.5em 0.75em; border-radius: 0.25rem; background-color: theme(colors.gray.300); transition: background-color 120ms linear; color: theme(colors.gray.900); flex-wrap: wrap; &:focus { background-color: theme(colors.gray.50); } } .input-group > :first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group > * + * { border-top-left-radius: 0; border-bottom-left-radius: 0; } .card { @apply rounded-xl dark:shadow-xl bg-gray-200 dark:bg-gray-800; } .card--highlighted { @apply bg-red-200 dark:bg-red-800; } /* Utils */ html:not(.dark) .light\:hidden { display: none; } .svg-w-8 svg { @apply w-8; } .hero strong { font-style: normal; @apply text-red-700 dark:text-red-300; } /* Tippy */ .tippy-box[data-animation="fade"][data-state="hidden"] { opacity: 0; } [data-tippy-root] { max-width: calc(100vw - 10px); } .tippy-box { position: relative; background-color: #333; color: #fff; border-radius: 4px; font-size: 14px; line-height: 1.4; white-space: normal; outline: 0; transition-property: transform, visibility, opacity; } .tippy-box[data-placement^="top"] > .tippy-arrow { bottom: 0; } .tippy-box[data-placement^="top"] > .tippy-arrow:before { bottom: -7px; left: 0; border-width: 8px 8px 0; border-top-color: initial; transform-origin: center top; } .tippy-box[data-placement^="bottom"] > .tippy-arrow { top: 0; } .tippy-box[data-placement^="bottom"] > .tippy-arrow:before { top: -7px; left: 0; border-width: 0 8px 8px; border-bottom-color: initial; transform-origin: center bottom; } .tippy-box[data-placement^="left"] > .tippy-arrow { right: 0; } .tippy-box[data-placement^="left"] > .tippy-arrow:before { border-width: 8px 0 8px 8px; border-left-color: initial; right: -7px; transform-origin: center left; } .tippy-box[data-placement^="right"] > .tippy-arrow { left: 0; } .tippy-box[data-placement^="right"] > .tippy-arrow:before { left: -7px; border-width: 8px 8px 8px 0; border-right-color: initial; transform-origin: center right; } .tippy-box[data-inertia][data-state="visible"] { transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11); } .tippy-arrow { width: 16px; height: 16px; color: #333; } .tippy-arrow:before { content: ""; position: absolute; border-color: transparent; border-style: solid; } .tippy-content { position: relative; padding: 0.75em 1em; z-index: 1; } html.dark .invert-colors { filter: invert(0.95); } .button-fundraiser-shadow { box-shadow: var(--color-gray-900) 10px 10px 0px 0px; border: 2px solid var(--color-gray-900); } html.dark .button-fundraiser-shadow { box-shadow: var(--color-gray-300) 10px 10px 0px 0px; border: 2px solid var(--color-gray-300); } .fundraiser-progress-bar { width: min(20rem, 80vw); height: 1rem; border-radius: 0.25rem; --filled: 3%; --empty-color: theme(colors.gray.300); background: linear-gradient(90deg, transparent, transparent var(--filled), var(--empty-color) var(--filled)), repeating-linear-gradient(-45deg, theme(colors.red.700), theme(colors.red.700) 20px, theme(colors.red.800) 20px, theme(colors.red.800) 40px); } html.dark .fundraiser-progress-bar { --empty-color: theme(colors.gray.700); }