/* ibm-plex-mono-regular - latin */ @font-face { font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; src: url('/fonts/ibm-plex-mono-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ } /* ibm-plex-mono-500 - latin */ @font-face { font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; src: url('/fonts/ibm-plex-mono-v19-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ } /* ibm-plex-mono-600 - latin */ @font-face { font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; src: url('/fonts/ibm-plex-mono-v19-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ } /* ibm-plex-mono-600italic - latin */ @font-face { font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 600; src: url('/fonts/ibm-plex-mono-v19-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ } /* ibm-plex-mono-700 - latin */ @font-face { font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 700; src: url('/fonts/ibm-plex-mono-v19-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ } @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root, html[data-theme="light"] { --color-fill: 251, 254, 251; --color-text-base: 40, 39, 40; --color-accent: 0, 108, 172; --color-card: 230, 230, 230; --color-card-muted: 205, 205, 205; --color-border: 236, 233, 233; } html[data-theme="dark"] { --color-fill: 33, 39, 55; --color-text-base: 234, 237, 243; --color-accent: 255, 107, 1; --color-card: 52, 63, 96; --color-card-muted: 138, 51, 2; --color-border: 171, 75, 8; } #sun-svg, html[data-theme="dark"] #moon-svg { display: none; } #moon-svg, html[data-theme="dark"] #sun-svg { display: block; } body { @apply flex min-h-screen flex-col bg-skin-fill font-mono text-skin-base selection:bg-skin-accent selection:bg-opacity-70 selection:text-skin-inverted; } section, footer { @apply mx-auto max-w-3xl px-4; } a { @apply outline-2 outline-offset-1 outline-skin-fill focus-visible:no-underline focus-visible:outline-dashed; } svg { @apply inline-block h-6 w-6 fill-skin-base group-hover:fill-skin-accent; } svg.icon-tabler { @apply inline-block h-6 w-6 scale-125 fill-transparent stroke-current stroke-2 opacity-90 group-hover:fill-transparent sm:scale-110; } .prose { @apply prose-headings:!mb-3 prose-headings:!text-skin-base prose-h3:italic prose-p:!text-skin-base prose-a:!text-skin-base prose-a:!decoration-dashed prose-a:underline-offset-8 hover:prose-a:text-skin-accent prose-blockquote:!border-l-skin-accent prose-blockquote:border-opacity-50 prose-blockquote:opacity-80 prose-figcaption:!text-skin-base prose-figcaption:opacity-70 prose-strong:!text-skin-base prose-code:rounded prose-code:bg-skin-card prose-code:bg-opacity-75 prose-code:p-1 prose-code:!text-skin-base prose-code:before:!content-[''] prose-code:after:!content-[''] prose-pre:!text-skin-base prose-ol:!text-skin-base prose-ul:overflow-x-clip prose-ul:!text-skin-base prose-li:marker:!text-skin-accent prose-table:text-skin-base prose-th:border prose-th:border-skin-line prose-td:border prose-td:border-skin-line prose-img:mx-auto prose-img:!mt-2 prose-img:border-2 prose-img:border-skin-line prose-hr:!border-skin-line; } .prose a { @apply hover:!text-skin-accent; } .prose thead th:first-child, tbody td:first-child, tfoot td:first-child { padding-left: 0.5714286em; } .prose h2#table-of-contents { @apply mb-2; } .prose details { @apply inline-block cursor-pointer select-none text-skin-base; } .prose summary { @apply focus-outline; } .prose h2#table-of-contents + p { @apply hidden; } /* ===== scrollbar ===== */ html { overflow-y: scroll; } /* width */ ::-webkit-scrollbar { @apply w-3; } /* Track */ ::-webkit-scrollbar-track { @apply bg-skin-fill; } /* Handle */ ::-webkit-scrollbar-thumb { @apply bg-skin-card; } /* Handle on hover */ ::-webkit-scrollbar-thumb:hover { @apply bg-skin-card-muted; } code { white-space: pre; overflow: scroll; } } @layer components { .display-none { @apply hidden; } .focus-outline { @apply outline-2 outline-offset-1 outline-skin-fill focus-visible:no-underline focus-visible:outline-dashed; } }