@tailwind base; @tailwind components; @tailwind utilities; /* Definition of the design system. All colors, gradients, fonts, etc should be defined here. All colors MUST be HSL. */ @layer base { :root { /* Clean, geometric aesthetic inspired by anytype */ --background: 0 0% 98%; --foreground: 220 13% 18%; --card: 0 0% 100%; --card-foreground: 220 13% 18%; --popover: 0 0% 100%; --popover-foreground: 220 13% 18%; --primary: 220 13% 18%; --primary-foreground: 0 0% 98%; --secondary: 220 13% 91%; --secondary-foreground: 220 13% 18%; --muted: 220 13% 96%; --muted-foreground: 220 9% 46%; --accent: 346 77% 49%; --accent-foreground: 0 0% 98%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 98%; --border: 220 13% 91%; --input: 220 13% 91%; --ring: 220 13% 18%; /* Success semantics for positive feedback */ --success: 142 71% 45%; --success-foreground: 0 0% 98%; /* Logic token colors */ --logic-a: 24 94% 50%; --logic-b: 221 83% 53%; --logic-s: 47 95% 57%; /* Custom design tokens for the boxy aesthetic */ --surface: 0 0% 100%; --surface-variant: 220 13% 96%; --outline: 220 13% 87%; --outline-variant: 220 13% 91%; /* Gradients for visual interest */ --gradient-primary: linear-gradient(135deg, hsl(346 77% 49%) 0%, hsl(346 77% 45%) 100%); --gradient-secondary: linear-gradient(135deg, hsl(220 13% 96%) 0%, hsl(220 13% 91%) 100%); /* Shadows for depth */ --shadow-card: 0 1px 3px hsl(220 13% 18% / 0.1), 0 1px 2px hsl(220 13% 18% / 0.06); --shadow-card-hover: 0 4px 6px hsl(220 13% 18% / 0.1), 0 2px 4px hsl(220 13% 18% / 0.06); --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%; } .dark { --background: 220 13% 9%; --foreground: 220 13% 98%; --card: 220 13% 11%; --card-foreground: 220 13% 98%; --popover: 220 13% 11%; --popover-foreground: 220 13% 98%; --primary: 220 13% 98%; --primary-foreground: 220 13% 9%; --secondary: 220 13% 15%; --secondary-foreground: 220 13% 98%; --muted: 220 13% 15%; --muted-foreground: 220 9% 63%; --accent: 346 77% 49%; --accent-foreground: 0 0% 98%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 98%; --border: 220 13% 15%; --input: 220 13% 15%; --ring: 220 13% 91%; /* Success in dark */ --success: 142 71% 45%; --success-foreground: 0 0% 98%; /* Logic token colors */ --logic-a: 24 94% 50%; --logic-b: 221 83% 53%; --logic-s: 47 95% 57%; /* Dark mode custom tokens */ --surface: 220 13% 11%; --surface-variant: 220 13% 15%; --outline: 220 13% 23%; --outline-variant: 220 13% 19%; --shadow-card: 0 1px 3px hsl(220 13% 0% / 0.2), 0 1px 2px hsl(220 13% 0% / 0.12); --shadow-card-hover: 0 4px 6px hsl(220 13% 0% / 0.2), 0 2px 4px hsl(220 13% 0% / 0.12); --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%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; } /* Apply Nunito to all headings */ h1, h2, h3, h4, h5, h6 { @apply font-heading; } } @layer components { .logic-a { --logic-color: var(--logic-a); } .logic-b { --logic-color: var(--logic-b); } .logic-s { --logic-color: var(--logic-s); } .logic-border { border-color: hsl(var(--logic-color)) !important; } .logic-dotted { border-style: dotted; } .logic-solid { border-style: solid; } } /* Custom slider styling */ .slider-special::-webkit-slider-thumb, .slider-normal::-webkit-slider-thumb { appearance: none; height: 20px; width: 20px; border-radius: 50%; cursor: pointer; } .slider-special::-webkit-slider-thumb { background: #10b981; } .slider-normal::-webkit-slider-thumb { background: #6b7280; } .slider-special::-moz-range-thumb, .slider-normal::-moz-range-thumb { height: 20px; width: 20px; border-radius: 50%; cursor: pointer; border: none; } .slider-special::-moz-range-thumb { background: #10b981; } .slider-normal::-moz-range-thumb { background: #6b7280; }