@import 'tailwindcss'; @plugin 'tailwind-scrollbar'; @import 'tw-animate-css'; @custom-variant dark (&:is(.dark *)); :root { --radius: 0.625rem; /* Typography — system stacks, so nothing depends on a CDN or a webfont build. */ --app-font-sans: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; --app-font-serif: Georgia, 'Iowan Old Style', 'Times New Roman', serif; --app-font-mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, Consolas, monospace; /* Reading Room — light */ --background: #e9ebee; --foreground: #1b1f24; --card: #fbfbfc; --card-foreground: #1b1f24; --popover: #fbfbfc; --popover-foreground: #1b1f24; --primary: #1f5f5b; --primary-foreground: #f2f7f6; --secondary: #dfe3e8; --secondary-foreground: #1b1f24; --muted: #e2e5e9; --muted-foreground: #7d858f; --accent: #d7e5e3; --accent-foreground: #164743; --destructive: #a6402f; --border: #d2d6dc; --input: #d2d6dc; --ring: #1f5f5b; /* Semantic — deliberately not the accent, so state never reads as branding. */ --success: #2f7d4f; --success-foreground: #f2f7f6; --flag: #b08a1e; --star: #c79a25; --chart-1: #1f5f5b; --chart-2: #2f7d4f; --chart-3: #b08a1e; --chart-4: #4c6b8a; --chart-5: #a6402f; --sidebar: #e2e5e9; --sidebar-foreground: #1b1f24; --sidebar-primary: #1f5f5b; --sidebar-primary-foreground: #f2f7f6; --sidebar-accent: #d7e5e3; --sidebar-accent-foreground: #164743; --sidebar-border: #d2d6dc; --sidebar-ring: #1f5f5b; } .dark { /* Reading Room — dark */ --background: #15191b; --foreground: #e6eae9; --card: #1d2226; --card-foreground: #e6eae9; --popover: #1d2226; --popover-foreground: #e6eae9; --primary: #6fbab0; --primary-foreground: #0e1a19; --secondary: #232a2d; --secondary-foreground: #e6eae9; --muted: #232a2d; --muted-foreground: #78868a; --accent: #1b3330; --accent-foreground: #9fd8d0; --destructive: #e0796b; --border: #2a3034; --input: #2a3034; --ring: #6fbab0; --success: #4fa97a; --success-foreground: #0e1a19; --flag: #d4a63a; --star: #e5b84b; --chart-1: #6fbab0; --chart-2: #4fa97a; --chart-3: #d4a63a; --chart-4: #7f9dc0; --chart-5: #e0796b; --sidebar: #111517; --sidebar-foreground: #e6eae9; --sidebar-primary: #6fbab0; --sidebar-primary-foreground: #0e1a19; --sidebar-accent: #1b3330; --sidebar-accent-foreground: #9fd8d0; --sidebar-border: #2a3034; --sidebar-ring: #6fbab0; } @theme inline { --font-sans: var(--app-font-sans); --font-serif: var(--app-font-serif); --font-mono: var(--app-font-mono); --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(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-flag: var(--flag); --color-star: var(--star); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--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; } } /* Comma separated list */ .cs-list::after { content: ','; } .cs-list:last-of-type::after { display: none; }