@import "tailwindcss"; @import "tw-animate-css"; @custom-variant dark (&:where(.dark, .dark *)); :root { font-size: var(--font-size-base); --color-border: #e2e8f0; --color-input: #e2e8f0; --color-ring: #94a3b8; --color-background: #ffffff; --color-foreground: #0f172a; --color-primary: #3b82f6; --color-primary-foreground: #ffffff; --color-secondary: #f8fafc; --color-secondary-foreground: #0f172a; --color-muted: #f1f5f9; --color-muted-foreground: #64748b; --color-accent: #dbeafe; --color-accent-foreground: #1e40af; --color-destructive: #ef4444; --color-destructive-foreground: #ffffff; --color-popover: #ffffff; --color-popover-foreground: #0f172a; /* Sidebar */ --color-sidebar: #f8fafc; --color-sidebar-foreground: #0f172a; --color-sidebar-border: #e2e8f0; --color-sidebar-accent: #f1f5f9; --color-sidebar-accent-foreground: #0f172a; /* Card */ --color-card: #ffffff; --color-card-foreground: #0f172a; /* Semantic status colors */ --color-success: #22c55e; --color-success-foreground: #ffffff; --color-warning: #eab308; --color-warning-foreground: #ffffff; --color-info: #3b82f6; --color-info-foreground: #ffffff; /* Selection states */ --color-selection: #dbeafe; --color-selection-foreground: #1e40af; /* Unread indicator */ --color-unread: #3b82f6; /* Chart colors */ --color-chart-1: #3b82f6; --color-chart-2: #22c55e; --color-chart-3: #f59e0b; --color-chart-4: #ef4444; --color-chart-5: #8b5cf6; /* Settings variables */ --font-size-base: 16px; --list-item-height: 48px; --transition-duration: 0.2s; /* Density spacing variables (defaults = regular) */ --density-item-py: 12px; --density-item-gap: 12px; --density-header-py: 12px; --density-card-p: 16px; --density-sidebar-py: 4px; } .dark { --color-border: rgba(128, 128, 128, 0.3); --color-input: #262626; --color-ring: #d4d4d4; --color-background: #0a0a0a; --color-foreground: #fafafa; --color-primary: #fafafa; --color-primary-foreground: #171717; --color-secondary: #262626; --color-secondary-foreground: #fafafa; --color-muted: #262626; --color-muted-foreground: #a3a3a3; --color-accent: #1e3a8a; --color-accent-foreground: #dbeafe; --color-destructive: #ef4444; --color-destructive-foreground: #fafafa; --color-popover: #1c1c1c; --color-popover-foreground: #fafafa; /* Sidebar */ --color-sidebar: #0a0a0a; --color-sidebar-foreground: #fafafa; --color-sidebar-border: #262626; --color-sidebar-accent: #1a1a1a; --color-sidebar-accent-foreground: #fafafa; /* Card */ --color-card: #141414; --color-card-foreground: #fafafa; /* Semantic status colors */ --color-success: #16a34a; --color-success-foreground: #ffffff; --color-warning: #ca8a04; --color-warning-foreground: #ffffff; --color-info: #60a5fa; --color-info-foreground: #ffffff; /* Selection states */ --color-selection: rgba(59, 130, 246, 0.25); --color-selection-foreground: #93c5fd; /* Unread indicator */ --color-unread: #60a5fa; /* Chart colors */ --color-chart-1: #60a5fa; --color-chart-2: #4ade80; --color-chart-3: #fbbf24; --color-chart-4: #f87171; --color-chart-5: #a78bfa; } @theme inline { --color-border: var(--color-border); --color-input: var(--color-input); --color-ring: var(--color-ring); --color-background: var(--color-background); --color-foreground: var(--color-foreground); --color-primary: var(--color-primary); --color-primary-foreground: var(--color-primary-foreground); --color-secondary: var(--color-secondary); --color-secondary-foreground: var(--color-secondary-foreground); --color-muted: var(--color-muted); --color-muted-foreground: var(--color-muted-foreground); --color-accent: var(--color-accent); --color-accent-foreground: var(--color-accent-foreground); --color-destructive: var(--color-destructive); --color-destructive-foreground: var(--color-destructive-foreground); --color-popover: var(--color-popover); --color-popover-foreground: var(--color-popover-foreground); --color-sidebar: var(--color-sidebar); --color-sidebar-foreground: var(--color-sidebar-foreground); --color-sidebar-border: var(--color-sidebar-border); --color-sidebar-accent: var(--color-sidebar-accent); --color-sidebar-accent-foreground: var(--color-sidebar-accent-foreground); --color-card: var(--color-card); --color-card-foreground: var(--color-card-foreground); --color-success: var(--color-success); --color-success-foreground: var(--color-success-foreground); --color-warning: var(--color-warning); --color-warning-foreground: var(--color-warning-foreground); --color-info: var(--color-info); --color-info-foreground: var(--color-info-foreground); --color-selection: var(--color-selection); --color-selection-foreground: var(--color-selection-foreground); --color-unread: var(--color-unread); --color-chart-1: var(--color-chart-1); --color-chart-2: var(--color-chart-2); --color-chart-3: var(--color-chart-3); --color-chart-4: var(--color-chart-4); --color-chart-5: var(--color-chart-5); } * { border-color: var(--color-border); } body { background-color: var(--color-background); color: var(--color-foreground); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif; font-feature-settings: "rlig" 1, "calt" 1; } /* Native