@tailwind base; @tailwind components; @tailwind utilities; @font-face { font-family: "Geist"; src: url("/fonts/Geist[wght].ttf"); } @font-face { font-family: "GeistMono"; src: url("/fonts/GeistMono[wght].ttf"); } @layer base { :root { --font-geist-sans: "Geist"; --font-geist-mono: "GeistMono"; --background: 0 0% 100%; --foreground: 240 10% 3.9%; --card: 0 0% 100%; --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; --primary: 240 5.9% 10%; --primary-foreground: 0 0% 98%; --secondary: 240 4.8% 95.9%; --secondary-foreground: 240 5.9% 10%; --muted: 240 4.8% 95.9%; --muted-foreground: 240 3.8% 46.1%; --accent: 240 4.8% 95.9%; --accent-foreground: 240 5.9% 10%; --destructive: 0 72.22% 50.59%; --destructive-foreground: 0 0% 98%; --border: 240 5.9% 90%; --input: 240 5.9% 90%; --ring: 240 5% 64.9%; --radius: 0.5rem; --sidebar-background: 0 0% 98%; --sidebar-foreground: 240 5.3% 26.1%; --sidebar-primary: 240 5.9% 10%; --sidebar-primary-foreground: 0 0% 98%; --sidebar-accent: 240 4.8% 95.9%; --sidebar-accent-foreground: 240 5.9% 10%; --sidebar-border: 220 13% 91%; --sidebar-ring: 217.2 91.2% 59.8%; --vis-primary-color: var(--primary); --vis-secondary-color: 160 81% 40%; --vis-text-color: var(--muted-foreground); --vis-font-family: inherit !important; --vis-area-stroke-width: 2px !important; --vis-donut-central-label-text-color: hsl(var(--muted-foreground)) !important; --vis-tooltip-background-color: none !important; --vis-tooltip-border-color: none !important; --vis-tooltip-text-color: none !important; --vis-tooltip-shadow-color: none !important; --vis-tooltip-backdrop-filter: none !important; --vis-tooltip-padding: none !important; } .dark { --background: 240 10% 3.9%; --foreground: 0 0% 98%; --card: 240 10% 3.9%; --card-foreground: 0 0% 98%; --popover: 240 10% 3.9%; --popover-foreground: 0 0% 98%; --primary: 0 0% 98%; --primary-foreground: 240 5.9% 10%; --secondary: 240 3.7% 15.9%; --secondary-foreground: 0 0% 98%; --muted: 240 3.7% 15.9%; --muted-foreground: 240 5% 64.9%; --accent: 240 3.7% 15.9%; --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 85.7% 97.3%; --border: 240 3.7% 15.9%; --input: 240 3.7% 15.9%; --ring: 240 4.9% 83.9%; --sidebar-background: 240 5.9% 10%; --sidebar-foreground: 240 4.8% 95.9%; --sidebar-primary: 224.3 76.3% 48%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 240 3.7% 15.9%; --sidebar-accent-foreground: 240 4.8% 95.9%; --sidebar-border: 240 3.7% 15.9%; --sidebar-ring: 217.2 91.2% 59.8%; } * { @apply border-border; } html { @apply scroll-smooth; } body { @apply bg-background text-foreground overscroll-none; /* font-feature-settings: "rlig" 1, "calt" 1; */ font-synthesis-weight: none; text-rendering: optimizeLegibility; } @supports (font: -apple-system-body) and (-webkit-appearance: none) { [data-wrapper] { @apply min-[1800px]:border-t; } } /* Custom scrollbar styling. Thanks @pranathiperii. */ ::-webkit-scrollbar { width: 5px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: hsl(var(--border)); border-radius: 5px; } * { scrollbar-width: thin; scrollbar-color: hsl(var(--border)) transparent; } body { @apply bg-background text-foreground min-h-screen antialiased font-sans; /* font-feature-settings: "rlig" 1, "calt" 1; */ font-synthesis-weight: none; text-rendering: optimizeLegibility; } /* Mobile tap highlight */ /* https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-tap-highlight-color */ html { -webkit-tap-highlight-color: rgba(128, 128, 128, 0.5); } /* Font face Geist font */ @font-face { font-family: "geist-sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/fonts/Geist/GeistVariableVF.woff2") format("woff2"); } html.dark .shiki, html.dark .shiki span { color: var(--shiki-dark); } html:not(.dark) .shiki, html:not(.dark) .shiki span { color: var(--shiki-light); } .antialised { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } } @layer utilities { .step { counter-increment: step; } .step:before { @apply absolute w-9 h-9 bg-muted rounded-full font-mono font-medium text-center text-base inline-flex items-center justify-center -indent-px border-4 border-background; @apply ml-[-50px] mt-[-4px]; content: counter(step); } .chunk-container { @apply shadow-none; } .chunk-container::after { content: ""; @apply absolute -inset-4 shadow-xl rounded-xl border; } /* Hide scrollbar for Chrome, Safari and Opera */ .no-scrollbar::-webkit-scrollbar { display: none; } /* Hide scrollbar for IE, Edge and Firefox */ .no-scrollbar { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } } @media (max-width: 640px) { .container { @apply px-4; } } div[class^="language-"] { @apply mb-4 mt-6 max-h-[650px] overflow-x-auto md:rounded-lg border } pre { @apply py-4; } pre code { @apply relative font-mono text-sm ; } .line-numbers-wrapper, code { --vp-code-line-height: 1.7; } .line-numbers-wrapper { @apply font-mono; } pre code .line { @apply px-4 min-h-4 w-full inline-block leading-[--vp-code-line-height]; } .line-number { @apply !text-sm !inline-block text-muted-foreground leading-[--vp-code-line-height]; } ::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.3s; } .steps:first-child > h3:first-child { @apply mt-0; } .steps > h3 { @apply mt-8 mb-4 text-base font-semibold !important; }