/* Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the Chameleon License found in the * LICENSE file in the root directory of this source tree. */ @tailwind base; @tailwind components; @tailwind utilities; :root { --tab-radius: 5px; --rounded-box: 5px; --rounded-btn: 5px; } html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; } @layer base { @font-face { font-family: "Optimistic Display"; src: url(/fonts/optimistic/Optimistic_Display_W_Md.woff2) format("woff2"), url(/fonts/optimistic/Optimistic_Display_W_Md.woff) format("woff"); font-weight: 500; } @font-face { font-family: "Optimistic Display"; src: url(/fonts/optimistic/Optimistic_Display_W_SBd.woff2) format("woff2"), url(/fonts/optimistic/Optimistic_Display_W_SBd.woff) format("woff"); font-weight: 600; } @font-face { font-family: "Optimistic Display"; src: url(/fonts/optimistic/Optimistic_Display_W_Bd.woff2) format("woff2"), url(/fonts/optimistic/Optimistic_Display_W_Bd.woff) format("woff"); font-weight: 700; } @font-face { font-family: "Optimistic Text"; src: url(/fonts/optimistic/Optimistic_Text_W_Rg.woff2) format("woff2"), url(/fonts/optimistic/Optimistic_Text_W_Rg.woff) format("woff"); font-weight: 400; } @font-face { font-family: "Optimistic Text"; src: url(/fonts/optimistic/Optimistic_Text_W_Md.woff2) format("woff2"), url(/fonts/optimistic/Optimistic_Text_W_Md.woff) format("woff"); font-weight: 500; } @font-face { font-family: "Optimistic Text"; src: url(/fonts/optimistic/Optimistic_Text_W_Bd.woff2) format("woff2"), url(/fonts/optimistic/Optimistic_Text_W_Bd.woff) format("woff"); font-weight: 700; } @font-face { font-family: "Optimistic Text"; src: url(/fonts/optimistic/Optimistic_Text_W_XBd.woff2) format("woff2"), url(/fonts/optimistic/Optimistic_Text_W_XBd.woff) format("woff"); font-weight: 800; } body { font-family: "Optimistic Text", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #465a69; } /* Base (mobile) typography, overriding tailwind typography (.prose) defatuls */ /* Also review the theme in tailwind.config.js */ h1, h2, h3, h4, h5, h6 { font-family: "Optimistic Display", sans-serif; } h4, h5, h6, p { max-width: 65ch; } .prose .display h1 { @apply text-4xl font-medium leading-tight; } .prose .display h2 { @apply font-medium leading-tight; font-size: 2.5rem; } .prose h1 { @apply mt-2 mb-4 text-3xl font-medium leading-tight; letter-spacing: 0.016rem; } .prose h2 { @apply my-2 text-2xl font-medium leading-tight; letter-spacing: 0.01rem; } .prose h3 { @apply my-2 text-xl font-medium leading-tight; letter-spacing: 0.005rem; } .prose h4 { @apply my-2 text-lg font-medium leading-tight; } .prose h5 { @apply my-2 text-xl font-normal leading-normal; letter-spacing: 0.005rem; } .prose h6 { @apply my-2 text-base font-normal leading-normal; } .prose p { @apply text-sm font-normal leading-normal; } .prose ol, .prose ul { @apply text-sm font-normal leading-normal; padding-right: 2rem; } .prose a:not(.not-prose a) { @apply inline-block no-underline; border-bottom: 1px solid #0064e0; } .prose a:not(.not-prose a):hover, .prose a:not(.not-prose a):active { color: #0064e0; } .prose a:not(.not-prose a):focus { @apply rounded-sm; outline: none; border-color: transparent; box-shadow: 0 0 0 1px #0064e0, 0 0 4px #0064e0; } a.no-style, a.no-style:hover, a.no-style:active, a.no-style:focus { color: unset; border: none; text-decoration: none; } /* Non-mobile typography */ @media screen(lg) { .prose .display h1 { @apply text-6xl; } .prose .display h2 { @apply text-5xl; } .prose h1 { @apply text-4xl; } .prose h2 { @apply text-3xl; } .prose h3 { @apply text-2xl; } .prose h4 { @apply text-lg text-gray-800; } .prose h5 { @apply text-2xl; } .prose h6 { @apply text-base; } .prose p { @apply text-base; } .prose .medium { @apply text-sm; } .prose ol, .prose ul { @apply text-base; padding-right: 3rem; } } .dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode h4, .dark-mode h5, ≈ { @apply text-white; } .dark-mode h4, .dark-mode h6 { @apply text-gray-200; } code { font-family: Menlo, Consolas, monospace; font-size: 0.85em; display: inline-block; background-color: #e5e7e9; padding: 0px 6px; border-radius: 4px; } .prose code:not(.not-prose code) { @apply inline py-1 text-xs font-semibold break-all whitespace-pre-wrap; background-color: rgba(0, 0, 0, 0.05); } .prose code:not(.not-prose code)::before, .prose code:not(.not-prose code)::after { content: none; } pre { max-width: 75vw; } pre code { @apply inline-block; word-break: inherit; } .prose blockquote { @apply font-normal text-gray-600 opacity-80; } } /** * Custom CSS classes */ .landing-page th { background-color: #f1f4f7; } .landing-page th, .landing-page td { padding: 5px 10px; } .prose .chat-row p { margin-top: 0; } .markdown td, .markdown th { border: 1px solid rgba(0, 0, 0, 0.2); padding: 5px; } .markdown th { background-color: rgba(0, 0, 0, 0.05); } .markdown table { margin: 20px 0; } .markdown h1 { font-size: 2.5em; font-weight: 600; } .markdown h2 { font-size: 2em; font-weight: 500; } .markdown h3 { font-size: 1.5em; font-weight: 500; } .markdown h4 { font-size: 1.2em; font-weight: 500; } .markdown h5 { font-weight: 500; } .btn { @apply normal-case; } .justify-start-only { justify-content: start; } .prose .text-white * { color: #fff; } .prose .text-white code { background: rgba(255, 255, 255, 0.05); } .comp_button * { margin: 0; } .flex-grow-2 { flex-grow: 2; } .flex-grow-3 { flex-grow: 3; } .flex-grow-4 { flex-grow: 4; } .flex-grow-5 { flex-grow: 5; } .flex-grow-6 { flex-grow: 6; } .flex-grow-7 { flex-grow: 7; } .flex-grow-8 { flex-grow: 8; } .flex-grow-9 { flex-grow: 9; } .flex-grow-10 { flex-grow: 10; } /* Custom audio player */ .audio-range input[type="range"] { position: absolute; top: 0; bottom: 0; left: 0; right: 0; appearance: none; @apply w-full bg-transparent cursor-pointer; } .audio-range input[type="range"]::-webkit-slider-runnable-track { @apply h-1; } .audio-range input[type="range"]::-moz-range-track { @apply h-1; } .audio-range input[type="range"]::-webkit-slider-thumb { appearance: none; @apply w-1 h-1 bg-transparent; } .audio-range input[type="range"]::-moz-range-thumb { border: none; border-radius: 0; @apply w-1 h-1 bg-transparent; }