@import "tailwindcss";
@import "tw-animate-css";
@import './styles/typography.css';
@plugin 'tailwindcss-react-aria-components';
@variant dark (&:is(.dark *));
@theme inline {
--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-mono: "Geist Mono", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-sans--font-feature-settings: "cv02", "cv03", "cv04", "cv05", "cv11";
--font-mono--font-feature-settings: "ss02", "zero";
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-bg: var(--bg);
--color-fg: var(--fg);
--color-primary: var(--primary);
--color-primary-fg: var(--primary-fg);
--color-primary-subtle: var(--primary-subtle);
--color-primary-subtle-fg: var(--primary-subtle-fg);
--color-secondary: var(--secondary);
--color-secondary-fg: var(--secondary-fg);
--color-accent: var(--accent);
--color-accent-fg: var(--accent-fg);
--color-success: var(--success);
--color-success-fg: var(--success-fg);
--color-success-subtle: var(--success-subtle);
--color-success-subtle-fg: var(--success-subtle-fg);
--color-danger: var(--danger);
--color-danger-fg: var(--danger-fg);
--color-danger-subtle: var(--danger-subtle);
--color-danger-subtle-fg: var(--danger-subtle-fg);
--color-warning: var(--warning);
--color-warning-fg: var(--warning-fg);
--color-warning-subtle: var(--warning-subtle);
--color-warning-subtle-fg: var(--warning-subtle-fg);
--color-info: var(--info);
--color-info-fg: var(--info-fg);
--color-info-subtle: var(--info-subtle);
--color-info-subtle-fg: var(--info-subtle-fg);
--color-muted: var(--muted);
--color-muted-fg: var(--muted-fg);
--color-overlay: var(--overlay);
--color-overlay-fg: var(--overlay-fg);
--color-navbar: var(--navbar);
--color-navbar-fg: var(--navbar-fg);
--color-sidebar: var(--sidebar);
--color-sidebar-fg: var(--sidebar-fg);
--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);
--animate-marquee: marquee var(--duration) infinite linear;
--animate-marquee-vertical: marquee-vertical var(--duration) linear infinite;
@keyframes marquee {
from {
transform: translateX(0);
}
to {
transform: translateX(calc(-100% - var(--gap)));
}
}
@keyframes marquee-vertical {
from {
transform: translateY(0);
}
to {
transform: translateY(calc(-100% - var(--gap)));
}
}
}
:root {
--bg: var(--color-white);
--fg: var(--color-zinc-950);
--primary: oklch(0.40 0.10 155);
--primary-fg: oklch(1 0 0);
--primary-subtle: oklch(0.50 0.10 155 / 0.15);
--primary-subtle-fg: oklch(0.35 0.10 155);
--secondary: var(--color-zinc-100);
--secondary-fg: var(--color-zinc-950);
--overlay: var(--color-white);
--overlay-fg: var(--color-zinc-950);
--accent: oklch(0.92 0.004 286.32);
--accent-fg: oklch(0.141 0.005 285.823);
--muted: var(--color-zinc-100);
--muted-fg: var(--color-zinc-600);
--success: var(--color-emerald-600);
--success-fg: var(--color-white);
--success-subtle: theme('color-emerald-500/15%');
--success-subtle-fg: var(--color-emerald-700);
--info: var(--color-sky-500);
--info-fg: var(--color-white);
--info-subtle: theme('color-sky-500/15%');
--info-subtle-fg: var(--color-sky-700);
--warning: var(--color-amber-400);
--warning-fg: var(--color-amber-950);
--warning-subtle: theme('color-amber-400/20%');
--warning-subtle-fg: var(--color-amber-700);
--danger: var(--color-red-600);
--danger-fg: var(--color-red-50);
--danger-subtle: theme('color-red-500/15%');
--danger-subtle-fg: var(--color-red-700);
--border: var(--color-zinc-300);
--input: var(--color-zinc-300);
--ring: var(--primary);
--navbar: oklch(0.988 0 0);
--navbar-fg: var(--color-zinc-950);
--sidebar: oklch(0.985 0 0);
--sidebar-fg: oklch(0.141 0.005 285.823);
--sidebar-primary: oklch(0.623 0.214 259.815 / 0.15);
--sidebar-primary-fg: oklch(0.488 0.243 264.376);
--sidebar-accent: oklch(0.92 0.004 286.32);
--sidebar-accent-fg: oklch(0.141 0.005 285.823);
--sidebar-border: oklch(0.901 0.006 286.286);
--sidebar-ring: oklch(0.546 0.245 262.881);
--chart-1: oklch(0.546 0.245 262.881);
--chart-2: oklch(0.623 0.214 259.815);
--chart-3: oklch(0.707 0.165 254.624);
--chart-4: oklch(0.809 0.105 251.813);
--chart-5: oklch(0.882 0.059 254.128);
--radius-lg: 0.5rem;
--radius-xs: calc(var(--radius-lg) * 0.25);
--radius-sm: calc(var(--radius-lg) * 0.5);
--radius-md: calc(var(--radius-lg) * 0.75);
--radius-xl: calc(var(--radius-lg) * 1.5);
--radius-2xl: calc(var(--radius-lg) * 2);
--radius-3xl: calc(var(--radius-lg) * 3);
--radius-4xl: calc(var(--radius-lg) * 4);
::selection {
background-color: var(--color-primary-subtle);
color: var(--color-primary-subtle-fg);
}
}
.dark {
--bg: var(--color-zinc-950);
--fg: var(--color-zinc-50);
--primary: oklch(0.50 0.10 155);
--primary-fg: oklch(1 0 0);
--primary-subtle: oklch(0.50 0.10 155 / 0.1);
--primary-subtle-fg: oklch(0.60 0.10 155);
--secondary: var(--color-zinc-800);
--secondary-fg: var(--color-zinc-50);
--accent: oklch(0.32 0.013 285.805);
--accent-fg: oklch(0.985 0 0);
--muted: var(--color-zinc-900);
--muted-fg: var(--color-zinc-400);
--overlay: oklch(0.234 0.006 286.033);
--overlay-fg: var(--color-zinc-50);
--success: var(--color-emerald-600);
--success-fg: var(--color-white);
--success-subtle: theme('color-emerald-500/10%');
--success-subtle-fg: var(--color-emerald-400);
--info: var(--color-sky-500);
--info-fg: var(--color-white);
--info-subtle: theme('color-sky-500/10%');
--info-subtle-fg: var(--color-sky-300);
--warning: var(--color-amber-400);
--warning-fg: var(--color-amber-950);
--warning-subtle: theme('color-amber-400/10%');
--warning-subtle-fg: var(--color-amber-400);
--danger: var(--color-red-600);
--danger-fg: var(--color-red-50);
--danger-subtle: theme('color-red-500/10%');
--danger-subtle-fg: var(--color-red-400);
--border: oklch(0.30 0.013 285.805);
--input: oklch(0.310 0.013 285.805);
--navbar: oklch(0.17 0.006 285.885);
--navbar-fg: var(--color-zinc-50);
--sidebar: oklch(0.180 0.006 285.885);
--sidebar-fg: oklch(0.985 0 0);
--sidebar-primary: oklch(0.623 0.214 259.815 / 0.1);
--sidebar-primary-fg: oklch(0.707 0.165 254.624);
--sidebar-accent: oklch(0.274 0.006 286.033);
--sidebar-accent-fg: oklch(0.985 0 0);
--sidebar-border: oklch(0.274 0.006 286.033);
--sidebar-ring: oklch(0.546 0.245 262.881);
--chart-1: oklch(0.488 0.243 264.376);
--chart-2: oklch(0.623 0.214 259.815);
--chart-3: oklch(0.707 0.165 254.624);
--chart-4: oklch(0.809 0.105 251.813);
--chart-5: oklch(0.882 0.059 254.128);
}
@layer base {
*,
::after,
::before,
::backdrop,
::file-selector-button {
border-color: var(--color-border, currentColor);
}
* {
text-rendering: optimizeLegibility;
scrollbar-width: thin;
scrollbar-color: var(--color-border) transparent;
}
html {
font-variation-settings: normal;
scroll-behavior: smooth;
height: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-tap-highlight-color: transparent;
}
body {
background-color: var(--color-bg);
color: var(--color-fg);
}
}
@utility touch-hitbox {
position: relative;
&::before {
content: "";
position: absolute;
display: block;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
min-height: 44px;
min-width: 44px;
z-index: 9999;
}
}
.scrollbar-hidden {
-ms-overflow-style: none;
scrollbar-width: none;
&::-webkit-scrollbar {
display: none;
}
}
.react-aria-DropIndicator[data-drop-target] {
outline: 1px solid var(--primary);
transform: translateZ(0);
}