@import "tailwindcss";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

/* disable default view-transition crossfade so custom
   clip-path circle-reveal animation can take over */
::view-transition-old(root),
::view-transition-new(root) {
	animation: none;
	mix-blend-mode: normal;
}

@theme inline {
	--color-background: var(--background);
	--color-foreground: var(--foreground);
	--font-sans: var(--font-sans);
	--font-mono: var(--font-mono);
	--font-serif: var(--font-serif);
	--radius: var(--radius);
	--tracking-tighter: calc(var(--tracking-normal) - 0.05em);
	--tracking-tight: calc(var(--tracking-normal) - 0.025em);
	--tracking-wide: calc(var(--tracking-normal) + 0.025em);
	--tracking-wider: calc(var(--tracking-normal) + 0.05em);
	--tracking-widest: calc(var(--tracking-normal) + 0.1em);
	--tracking-normal: var(--tracking-normal);
	--shadow-2xl: var(--shadow-2xl);
	--shadow-xl: var(--shadow-xl);
	--shadow-lg: var(--shadow-lg);
	--shadow-md: var(--shadow-md);
	--shadow: var(--shadow);
	--shadow-sm: var(--shadow-sm);
	--shadow-xs: var(--shadow-xs);
	--shadow-2xs: var(--shadow-2xs);
	--spacing: var(--spacing);
	--letter-spacing: var(--letter-spacing);
	--shadow-offset-y: var(--shadow-offset-y);
	--shadow-offset-x: var(--shadow-offset-x);
	--shadow-spread: var(--shadow-spread);
	--shadow-blur: var(--shadow-blur);
	--shadow-opacity: var(--shadow-opacity);
	--color-shadow-color: var(--shadow-color);
	--color-sidebar-ring: var(--sidebar-ring);
	--color-sidebar-border: var(--sidebar-border);
	--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
	--color-sidebar-accent: var(--sidebar-accent);
	--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
	--color-sidebar-primary: var(--sidebar-primary);
	--color-sidebar-foreground: var(--sidebar-foreground);
	--color-sidebar: var(--sidebar);
	--color-chart-5: var(--chart-5);
	--color-chart-4: var(--chart-4);
	--color-chart-3: var(--chart-3);
	--color-chart-2: var(--chart-2);
	--color-chart-1: var(--chart-1);
	--color-ring: var(--ring);
	--color-input: var(--input);
	--color-border: var(--border);
	--color-destructive-foreground: var(--destructive-foreground);
	--color-destructive: var(--destructive);
	--color-accent-foreground: var(--accent-foreground);
	--color-accent: var(--accent);
	--color-muted-foreground: var(--muted-foreground);
	--color-muted: var(--muted);
	--color-secondary-foreground: var(--secondary-foreground);
	--color-secondary: var(--secondary);
	--color-primary-foreground: var(--primary-foreground);
	--color-primary: var(--primary);
	--color-popover-foreground: var(--popover-foreground);
	--color-popover: var(--popover);
	--color-card-foreground: var(--card-foreground);
	--color-card: var(--card);
	--radius-sm: calc(var(--radius) - 4px);
	--radius-md: calc(var(--radius) - 2px);
	--radius-lg: var(--radius);
	--radius-xl: calc(var(--radius) + 4px);
	--radius-2xl: calc(var(--radius) + 8px);
	--radius-3xl: calc(var(--radius) + 12px);
	--radius-4xl: calc(var(--radius) + 16px);
}

:root {
	--background: oklch(0.9818 0.0054 95.0986);
	--foreground: oklch(0.3438 0.0269 95.7226);
	--card: oklch(0.9818 0.0054 95.0986);
	--card-foreground: oklch(0.1908 0.0020 106.5859);
	--popover: oklch(1.0000 0 0);
	--popover-foreground: oklch(0.2671 0.0196 98.9390);
	--primary: oklch(0.6671 0.0935 170.4436);
	--primary-foreground: oklch(1.0000 0 0);
	--secondary: oklch(0.9245 0.0138 92.9892);
	--secondary-foreground: oklch(0.6010 0.1305 162.6575);
	--muted: oklch(0.9369 0.0124 91.5218);
	--muted-foreground: oklch(0.4866 0.0160 145.3235);
	--accent: oklch(0.7722 0.0508 173.4329);
	--accent-foreground: oklch(0.2891 0 0);
	--destructive: oklch(0.6507 0.1836 39.0189);
	--destructive-foreground: oklch(0.8429 0.1511 88.3005);
	--border: oklch(0.8847 0.0069 97.3627);
	--input: oklch(0.7621 0.0156 98.3528);
	--ring: oklch(0.6507 0.1836 39.0189);
	--chart-1: oklch(0.4340 0.0754 168.1984);
	--chart-2: oklch(0.3821 0.0407 166.3004);
	--chart-3: oklch(0.8429 0.1511 88.3005);
	--chart-4: oklch(0.6507 0.1836 39.0189);
	--chart-5: oklch(0.3980 0.0700 227.3920);
	--radius: 1.575rem;
	--sidebar: oklch(0.5751 0.0729 170.9439);
	--sidebar-foreground: oklch(0.9688 0.0066 106.5223);
	--sidebar-primary: oklch(0.7722 0.0508 173.4329);
	--sidebar-primary-foreground: oklch(0.9881 0 0);
	--sidebar-accent: oklch(0.6671 0.0935 170.4436);
	--sidebar-accent-foreground: oklch(1.0000 0 0);
	--sidebar-border: oklch(0 0 0);
	--sidebar-ring: oklch(0 0 0);
	--font-sans: Sora, ui-sans-serif, sans-serif, system-ui;
	--font-serif: Playfair Display, ui-serif, serif;
	--font-mono: Space Grotesk, ui-sans-serif, sans-serif, system-ui;
	--shadow-color: #000000;
	--shadow-opacity: 0.8;
	--shadow-blur: 8px;
	--shadow-spread: -4px;
	--shadow-offset-x: 0px;
	--shadow-offset-y: 0px;
	--letter-spacing: 0em;
	--spacing: 0.3rem;
	--shadow-2xs: 0px 0px 8px -4px hsl(0 0% 0% / 0.40);
	--shadow-xs: 0px 0px 8px -4px hsl(0 0% 0% / 0.40);
	--shadow-sm: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 1px 2px -5px hsl(0 0% 0% / 0.80);
	--shadow: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 1px 2px -5px hsl(0 0% 0% / 0.80);
	--shadow-md: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 2px 4px -5px hsl(0 0% 0% / 0.80);
	--shadow-lg: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 4px 6px -5px hsl(0 0% 0% / 0.80);
	--shadow-xl: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 8px 10px -5px hsl(0 0% 0% / 0.80);
	--shadow-2xl: 0px 0px 8px -4px hsl(0 0% 0% / 2.00);
	--tracking-normal: 0em;
}

.dark {
	--background: oklch(0.2178 0 0);
	--foreground: oklch(0.9300 0.0080 93.0137);
	--card: oklch(0.2679 0.0036 106.6427);
	--card-foreground: oklch(0.9818 0.0054 95.0986);
	--popover: oklch(0.3085 0.0035 106.6039);
	--popover-foreground: oklch(0.9211 0.0040 106.4781);
	--primary: oklch(0.6671 0.0935 170.4436);
	--primary-foreground: oklch(0 0 0);
	--secondary: oklch(0.9245 0.0138 92.9892);
	--secondary-foreground: oklch(0.6714 0.1207 167.7754);
	--muted: oklch(0.2561 0.0071 145.3653);
	--muted-foreground: oklch(0.8200 0.0120 99.0657);
	--accent: oklch(0.7722 0.0508 173.4329);
	--accent-foreground: oklch(0 0 0);
	--destructive: oklch(0.6507 0.1836 39.0189);
	--destructive-foreground: oklch(1.0000 0 0);
	--border: oklch(0.2809 0 0);
	--input: oklch(0.6551 0.0198 142.7714);
	--ring: oklch(0.6507 0.1836 39.0189);
	--chart-1: oklch(0.6714 0.1207 167.7754);
	--chart-2: oklch(0.6979 0.0567 64.8386);
	--chart-3: oklch(0.8429 0.1511 88.3005);
	--chart-4: oklch(0.6507 0.1836 39.0189);
	--chart-5: oklch(0.3980 0.0700 227.3920);
	--radius: 1.575rem;
	--sidebar: oklch(0.5144 0.0448 173.4372);
	--sidebar-foreground: oklch(0.8074 0.0142 93.0137);
	--sidebar-primary: oklch(0.7722 0.0508 173.4329);
	--sidebar-primary-foreground: oklch(0.9881 0 0);
	--sidebar-accent: oklch(0.6671 0.0935 170.4436);
	--sidebar-accent-foreground: oklch(0 0 0);
	--sidebar-border: oklch(0.9401 0 0);
	--sidebar-ring: oklch(0.7731 0 0);
	--font-sans: Sora, ui-sans-serif, sans-serif, system-ui;
	--font-serif: Playfair Display, ui-serif, serif;
	--font-mono: Space Grotesk, ui-sans-serif, sans-serif, system-ui;
	--shadow-color: oklch(0 0 0);
	--shadow-opacity: 0.8;
	--shadow-blur: 8px;
	--shadow-spread: -4px;
	--shadow-offset-x: 0px;
	--shadow-offset-y: 0px;
	--letter-spacing: 0em;
	--spacing: 0.3rem;
	--shadow-2xs: 0px 0px 8px -4px hsl(0 0% 0% / 0.40);
	--shadow-xs: 0px 0px 8px -4px hsl(0 0% 0% / 0.40);
	--shadow-sm: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 1px 2px -5px hsl(0 0% 0% / 0.80);
	--shadow: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 1px 2px -5px hsl(0 0% 0% / 0.80);
	--shadow-md: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 2px 4px -5px hsl(0 0% 0% / 0.80);
	--shadow-lg: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 4px 6px -5px hsl(0 0% 0% / 0.80);
	--shadow-xl: 0px 0px 8px -4px hsl(0 0% 0% / 0.80), 0px 8px 10px -5px hsl(0 0% 0% / 0.80);
	--shadow-2xl: 0px 0px 8px -4px hsl(0 0% 0% / 2.00);
}

@layer base {
  body {
    letter-spacing: var(--tracking-normal);
	}
}

@layer base {
  * {
    @apply border-border outline-ring/50;
	}
  body {
    @apply bg-background text-foreground;
	}
}

[data-mobile="true"] [data-sidebar="content"] {
  scrollbar-width: none;
}
[data-mobile="true"] [data-sidebar="content"]::-webkit-scrollbar {
  display: none;
}

/* hide scrollbars globally while maintaining scroll functionality */
* {
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE and edge */
}

*::-webkit-scrollbar {
  display: none; /* chrome, safari, opera */
}