311 lines
9.0 KiB
CSS
311 lines
9.0 KiB
CSS
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
|
|
@import 'tailwindcss';
|
|
@import 'tw-animate-css';
|
|
|
|
@custom-variant dark (&:where(.dark, .dark *));
|
|
|
|
/*
|
|
@layer base defaults inspired by shadcn UI Typography
|
|
Provides opinionated, utility-driven defaults for HTML elements.
|
|
*/
|
|
@layer base {
|
|
/* Headings */
|
|
h1 {
|
|
@apply scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl;
|
|
}
|
|
h2 {
|
|
@apply mt-10 scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0;
|
|
}
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
@apply mt-8 scroll-m-20 text-2xl font-semibold tracking-tight;
|
|
}
|
|
|
|
/* Paragraphs */
|
|
p {
|
|
@apply leading-7 [&:not(:first-child)]:mt-6;
|
|
}
|
|
|
|
/* Links */
|
|
a {
|
|
@apply text-ring font-medium underline underline-offset-2;
|
|
}
|
|
|
|
/* Blockquotes */
|
|
blockquote {
|
|
@apply mt-6 border-l-2 pl-6 italic;
|
|
}
|
|
|
|
/* Code */
|
|
code {
|
|
@apply bg-muted rounded px-1 font-mono text-sm;
|
|
}
|
|
pre {
|
|
@apply bg-muted overflow-auto rounded-lg p-4 font-mono text-sm;
|
|
}
|
|
|
|
/* Images and Media */
|
|
img,
|
|
video {
|
|
@apply max-w-full rounded-lg;
|
|
}
|
|
|
|
/* Horizontal rules */
|
|
hr {
|
|
@apply border-border my-6 border-t;
|
|
}
|
|
}
|
|
|
|
@theme {
|
|
--font-sans: 'Lato', sans-serif;
|
|
--font-serif: 'EB Garamond', serif;
|
|
}
|
|
|
|
@theme {
|
|
--rb-color-red-50: #fef4f2;
|
|
--rb-color-red-100: #ffe7e1;
|
|
--rb-color-red-200: #ffd2c8;
|
|
--rb-color-red-300: #ffb4a3;
|
|
--rb-color-red-400: #fd876c;
|
|
--rb-color-red-500: #f5603e;
|
|
--rb-color-red-600: #e24420;
|
|
--rb-color-red-700: #be3617;
|
|
--rb-color-red-800: #9d3017;
|
|
--rb-color-red-900: #822d1a;
|
|
--rb-color-red-950: #471408;
|
|
|
|
--rb-color-orange-50: #fff8ed;
|
|
--rb-color-orange-100: #ffefd5;
|
|
--rb-color-orange-200: #fedbaa;
|
|
--rb-color-orange-300: #fdc175;
|
|
--rb-color-orange-400: #fb9b3c;
|
|
--rb-color-orange-500: #f97e16;
|
|
--rb-color-orange-600: #ea630c;
|
|
--rb-color-orange-700: #c24a0c;
|
|
--rb-color-orange-800: #9a3b12;
|
|
--rb-color-orange-900: #7c3212;
|
|
--rb-color-orange-950: #431707;
|
|
|
|
--rb-color-yellow-50: #fefde8;
|
|
--rb-color-yellow-100: #fefdc3;
|
|
--rb-color-yellow-200: #fef9a3;
|
|
--rb-color-yellow-300: #fdec47;
|
|
--rb-color-yellow-400: #f9db16;
|
|
--rb-color-yellow-500: #e9c209;
|
|
--rb-color-yellow-600: #ca9704;
|
|
--rb-color-yellow-700: #a16c07;
|
|
--rb-color-yellow-800: #85550e;
|
|
--rb-color-yellow-900: #714512;
|
|
--rb-color-yellow-950: #422406;
|
|
|
|
--rb-color-green-50: #f8faeb;
|
|
--rb-color-green-100: #edf4d3;
|
|
--rb-color-green-200: #ddebab;
|
|
--rb-color-green-300: #c4dc7a;
|
|
--rb-color-green-400: #b6d167;
|
|
--rb-color-green-500: #8daf33;
|
|
--rb-color-green-600: #6e8b25;
|
|
--rb-color-green-700: #546b20;
|
|
--rb-color-green-800: #44551f;
|
|
--rb-color-green-900: #3a491e;
|
|
--rb-color-green-950: #1e280b;
|
|
|
|
--rb-color-cyan-50: #effbfc;
|
|
--rb-color-cyan-100: #d7f2f6;
|
|
--rb-color-cyan-200: #b4e6ed;
|
|
--rb-color-cyan-300: #81d3e0;
|
|
--rb-color-cyan-400: #45b6cb;
|
|
--rb-color-cyan-500: #2a9ab0;
|
|
--rb-color-cyan-600: #257d95;
|
|
--rb-color-cyan-700: #24657a;
|
|
--rb-color-cyan-800: #265464;
|
|
--rb-color-cyan-900: #234756;
|
|
--rb-color-cyan-950: #122e3a;
|
|
|
|
--rb-color-blue-50: #eff5ff;
|
|
--rb-color-blue-100: #dbe8fe;
|
|
--rb-color-blue-200: #bfd8fe;
|
|
--rb-color-blue-300: #a2c9fe;
|
|
--rb-color-blue-400: #5f9efb;
|
|
--rb-color-blue-500: #3a79f7;
|
|
--rb-color-blue-600: #2358ed;
|
|
--rb-color-blue-700: #1c44d9;
|
|
--rb-color-blue-800: #1d38b0;
|
|
--rb-color-blue-900: #1d358b;
|
|
--rb-color-blue-950: #172254;
|
|
|
|
--rb-color-violet-50: #eef0ff;
|
|
--rb-color-violet-100: #dfe3ff;
|
|
--rb-color-violet-200: #bdc2ff;
|
|
--rb-color-violet-300: #a3a8fe;
|
|
--rb-color-violet-400: #837ffa;
|
|
--rb-color-violet-500: #6e60f4;
|
|
--rb-color-violet-600: #6043e8;
|
|
--rb-color-violet-700: #5435cd;
|
|
--rb-color-violet-800: #442ea5;
|
|
--rb-color-violet-900: #3b2c83;
|
|
--rb-color-violet-950: #231a4c;
|
|
|
|
--rb-color-neutral-50: #f6f6f6;
|
|
--rb-color-neutral-100: #e7e7e7;
|
|
--rb-color-neutral-200: #d1d1d1;
|
|
--rb-color-neutral-300: #b0b0b0;
|
|
--rb-color-neutral-400: #888888;
|
|
--rb-color-neutral-500: #737373;
|
|
--rb-color-neutral-600: #5d5d5d;
|
|
--rb-color-neutral-700: #4f4f4f;
|
|
--rb-color-neutral-800: #454545;
|
|
--rb-color-neutral-900: #3d3d3d;
|
|
--rb-color-neutral-950: #262626;
|
|
}
|
|
|
|
:root {
|
|
/* Core palette */
|
|
--rb-base: var(--rb-color-neutral-50);
|
|
--rb-outline: var(--rb-color-neutral-500);
|
|
--rb-input: var(--rb-color-neutral-800);
|
|
--rb-text: var(--rb-color-neutral-950);
|
|
--rb-ring: var(--rb-color-cyan-700);
|
|
|
|
/* Container */
|
|
--rb-container-base: var(--rb-color-neutral-50);
|
|
--rb-container-text: var(--rb-color-neutral-950);
|
|
|
|
/* Semantic */
|
|
--rb-primary-base: var(--rb-color-cyan-200);
|
|
--rb-primary-text: var(--rb-color-cyan-950);
|
|
--rb-secondary-base: var(--rb-color-green-200);
|
|
--rb-secondary-text: var(--rb-color-green-950);
|
|
--rb-tertiary-base: var(--rb-color-violet-200);
|
|
--rb-tertiary-text: var(--rb-color-violet-950);
|
|
--rb-error-base: var(--rb-color-red-200);
|
|
--rb-error-text: var(--rb-color-red-950);
|
|
--rb-muted-base: var(--rb-color-neutral-300);
|
|
--rb-muted-text: var(--rb-color-neutral-600);
|
|
|
|
/* Charts */
|
|
--chart-1: var(--rb-color-blue-500);
|
|
--chart-2: var(--rb-color-green-500);
|
|
--chart-3: var(--rb-color-yellow-500);
|
|
--chart-4: var(--rb-color-orange-500);
|
|
--chart-5: var(--rb-color-red-500);
|
|
|
|
/* Sidebar */
|
|
--sidebar: var(--rb-color-neutral-50);
|
|
--sidebar-foreground: var(--rb-color-neutral-950);
|
|
--sidebar-primary: var(--rb-color-cyan-200);
|
|
--sidebar-primary-foreground: var(--rb-color-cyan-950);
|
|
--sidebar-accent: var(--rb-color-violet-200);
|
|
--sidebar-accent-foreground: var(--rb-color-violet-950);
|
|
--sidebar-border: var(--rb-color-neutral-500);
|
|
--sidebar-ring: var(--rb-color-cyan-700);
|
|
|
|
/* Radii */
|
|
--radius: 0.625rem;
|
|
}
|
|
|
|
.dark {
|
|
/* Core palette flips */
|
|
--rb-base: var(--rb-color-neutral-950);
|
|
--rb-text: var(--rb-color-neutral-50);
|
|
--rb-outline: var(--rb-color-neutral-500);
|
|
--rb-input: var(--rb-color-neutral-300);
|
|
--rb-ring: var(--rb-color-cyan-300);
|
|
|
|
/* Container */
|
|
--rb-container-base: var(--rb-color-neutral-950);
|
|
--rb-container-text: var(--rb-color-neutral-50);
|
|
|
|
/* Semantic */
|
|
--rb-primary-base: var(--rb-color-cyan-800);
|
|
--rb-primary-text: var(--rb-color-cyan-50);
|
|
--rb-secondary-base: var(--rb-color-green-800);
|
|
--rb-secondary-text: var(--rb-color-green-50);
|
|
--rb-tertiary-base: var(--rb-color-violet-800);
|
|
--rb-tertiary-text: var(--rb-color-violet-50);
|
|
--rb-error-base: var(--rb-color-red-800);
|
|
--rb-error-text: var(--rb-color-red-50);
|
|
--rb-muted-base: var(--rb-color-neutral-600);
|
|
--rb-muted-text: var(--rb-color-neutral-100);
|
|
|
|
/* Charts */
|
|
--chart-1: var(--rb-color-blue-400);
|
|
--chart-2: var(--rb-color-green-400);
|
|
--chart-3: var(--rb-color-yellow-400);
|
|
--chart-4: var(--rb-color-orange-400);
|
|
--chart-5: var(--rb-color-red-400);
|
|
|
|
/* Sidebar */
|
|
--sidebar: var(--rb-color-neutral-950);
|
|
--sidebar-foreground: var(--rb-color-neutral-50);
|
|
--sidebar-primary: var(--rb-color-cyan-800);
|
|
--sidebar-primary-foreground: var(--rb-color-cyan-50);
|
|
--sidebar-accent: var(--rb-color-violet-800);
|
|
--sidebar-accent-foreground: var(--rb-color-violet-50);
|
|
--sidebar-border: var(--rb-color-neutral-500);
|
|
--sidebar-ring: var(--rb-color-cyan-700);
|
|
}
|
|
|
|
@utility vstack {
|
|
@apply flex flex-col;
|
|
}
|
|
|
|
@utility hstack {
|
|
@apply flex flex-row;
|
|
}
|
|
|
|
@theme inline {
|
|
--radius-sm: calc(var(--radius) - 4px);
|
|
--radius-md: calc(var(--radius) - 2px);
|
|
--radius-lg: var(--radius);
|
|
--radius-xl: calc(var(--radius) + 4px);
|
|
|
|
--color-background: var(--rb-base);
|
|
--color-foreground: var(--rb-text);
|
|
--color-card: var(--rb-container-base);
|
|
--color-card-foreground: var(--rb-container-text);
|
|
--color-popover: var(--rb-container-base);
|
|
--color-popover-foreground: var(--rb-container-text);
|
|
|
|
--color-primary: var(--rb-primary-base);
|
|
--color-primary-foreground: var(--rb-primary-text);
|
|
--color-secondary: var(--rb-secondary-base);
|
|
--color-secondary-foreground: var(--rb-secondary-text);
|
|
--color-accent: var(--rb-tertiary-base);
|
|
--color-accent-foreground: var(--rb-tertiary-text);
|
|
--color-destructive: var(--rb-error-base);
|
|
--color-destructive-foreground: var(--rb-error-text);
|
|
|
|
--color-muted: var(--rb-muted-base);
|
|
--color-muted-foreground: var(--rb-muted-text);
|
|
--color-border: var(--rb-outline);
|
|
--color-input: var(--rb-input);
|
|
--color-ring: var(--rb-ring);
|
|
|
|
--color-chart-1: var(--chart-1);
|
|
--color-chart-2: var(--chart-2);
|
|
--color-chart-3: var(--chart-3);
|
|
--color-chart-4: var(--chart-4);
|
|
--color-chart-5: var(--chart-5);
|
|
|
|
--color-sidebar: var(--sidebar);
|
|
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
--color-sidebar-primary: var(--sidebar-primary);
|
|
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
--color-sidebar-accent: var(--sidebar-accent);
|
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
--color-sidebar-border: var(--sidebar-border);
|
|
--color-sidebar-ring: var(--sidebar-ring);
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border outline-ring/50;
|
|
}
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
}
|
|
}
|