@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--foreground-rgb: 0, 0, 0;
--background-rgb: 255, 255, 255;
}
body {
color: rgb(var(--foreground-rgb));
background: rgb(var(--background-rgb));
font-family: var(--font-spectral), serif;
font-weight: 400;
font-size: 1.25rem; /* 25% larger than the default 1rem */
line-height: 1.6;
letter-spacing: -0.01em;
}
h1, h2, h3, h4, h5, h6, .font-heading {
font-family: var(--font-manrope), sans-serif;
font-weight: 700;
letter-spacing: -0.03em;
line-height: 1.2;
}
/* Typography scale */
h1 {
@apply text-4xl md:text-5xl lg:text-6xl mb-6 mt-12;
}
h2 {
@apply text-3xl md:text-4xl mb-5 mt-10;
}
h3 {
@apply text-2xl md:text-3xl mb-4 mt-8;
}
h4 {
@apply text-xl md:text-2xl mb-3 mt-6;
}
h5, h6 {
@apply text-lg md:text-xl mb-2 mt-4;
}
p {
@apply my-4 text-lg md:text-xl;
}
/* Subtle animations for typography focus */
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
.fade-in {
animation: fadeIn 0.5s ease-in-out;
}
/* Clean typography styling for prose content */
.prose h1 {
@apply text-4xl md:text-5xl font-bold mt-8 mb-6 text-black;
}
.prose h2 {
@apply text-3xl md:text-4xl font-bold mt-10 mb-5 text-black;
}
.prose h3 {
@apply text-2xl md:text-3xl font-bold mt-8 mb-4 text-black;
}
.prose p {
@apply my-5 text-lg md:text-xl leading-relaxed;
}
.prose ul {
@apply my-6 space-y-2 list-disc pl-5;
}
.prose ol {
@apply list-decimal pl-5 my-6 space-y-2;
}
.prose code {
@apply bg-gray-100 text-gray-800 px-1.5 py-0.5 font-mono text-base rounded border border-gray-300;
}
.prose pre {
@apply bg-gray-100 border border-gray-300 my-6 p-4 overflow-x-auto rounded;
}
.prose pre code {
@apply bg-transparent border-0 px-0 py-0 text-gray-800;
}
.prose a {
@apply text-black font-bold border-b-2 border-black hover:bg-gray-100 transition-colors;
}
.prose blockquote {
@apply border-l-4 border-black pl-4 my-6 italic;
}
/* Clean typography utility classes */
.clean-border {
@apply border border-gray-300;
}
.clean-box {
@apply border border-gray-300 bg-white p-4 transition-all;
}
.clean-btn {
@apply border border-black bg-white px-4 py-2 font-bold hover:bg-gray-100 transition-all;
}
.clean-link {
@apply border-b-2 border-black font-bold hover:bg-gray-100 transition-colors;
}
/* Clean typography utility classes */
.hover-underline {
@apply relative;
}
.hover-underline::after {
content: "";
@apply absolute bottom-0 left-0 w-full h-0.5 bg-black transform scale-x-0 origin-bottom-right transition-transform duration-300;
}
.hover-underline:hover::after {
@apply transform scale-x-100 origin-bottom-left;
}
/* Fix for Tailwind border width */
.border-3 {
border-width: 3px;
}
/* Custom scrollbar for code blocks */
pre::-webkit-scrollbar {
height: 10px;
width: 10px;
}
pre::-webkit-scrollbar-track {
background: #2d3748;
border-left: 2px solid black;
border-bottom: 2px solid black;
}
pre::-webkit-scrollbar-thumb {
background: #718096;
border: 2px solid #1a202c;
}
pre::-webkit-scrollbar-thumb:hover {
background: #a0aec0;
}
/* For Firefox */
pre {
scrollbar-width: thin;
scrollbar-color: #718096 #2d3748;
}