@import "tailwindcss"; @import "tw-animate-css"; /* Design tokens — ported from mockups/d-bento-mono.html. Semantic vars flip on [data-theme]; Tailwind utilities map via @theme. shadcn/ui names (background, popover, ...) alias the same tokens. */ :root { --ease: cubic-bezier(0.2, 0, 0, 1); --radius: 0.5rem; } [data-theme="dark"] { --bg: #0a0a0a; --surface: #111111; --surface-hover: #161616; --border: rgba(255, 255, 255, 0.08); --border-strong: rgba(255, 255, 255, 0.14); --text: #fafafa; --text-dim: #a1a1aa; --text-faint: #52525b; --accent: #3b82f6; --up: #22c55e; --down: #f59e0b; --destructive: #ef4444; --icon-bg: #1c1c1e; --popover: #141414; /* chart series palette (monitoring graphs) */ --chart-1: #3b82f6; --chart-2: #10b981; --chart-3: #8b5cf6; --chart-4: #f59e0b; --chart-5: #22d3ee; --chart-6: #fb7185; --chart-7: #a3e635; --chart-8: #c084fc; --background: var(--bg); --foreground: var(--text); --card: var(--surface); --card-foreground: var(--text); --popover-foreground: var(--text); --primary: var(--text); --primary-foreground: var(--bg); --secondary: var(--surface); --secondary-foreground: var(--text); --muted: var(--surface-hover); --muted-foreground: var(--text-dim); --accent-foreground: var(--text); --input: var(--border-strong); --ring: var(--accent); } [data-theme="light"] { --bg: #fafafa; --surface: #ffffff; --surface-hover: #f4f4f5; --border: rgba(0, 0, 0, 0.08); --border-strong: rgba(0, 0, 0, 0.16); --text: #09090b; --text-dim: #52525b; --text-faint: #a1a1aa; --accent: #2563eb; --up: #16a34a; --down: #d97706; --destructive: #dc2626; --icon-bg: #f4f4f5; --popover: #ffffff; /* chart series palette (monitoring graphs) — darker for light bg */ --chart-1: #2563eb; --chart-2: #059669; --chart-3: #7c3aed; --chart-4: #d97706; --chart-5: #0891b2; --chart-6: #e11d48; --chart-7: #65a30d; --chart-8: #9333ea; --background: var(--bg); --foreground: var(--text); --card: var(--surface); --card-foreground: var(--text); --popover-foreground: var(--text); --primary: var(--text); --primary-foreground: var(--bg); --secondary: var(--surface); --secondary-foreground: var(--text); --muted: var(--surface-hover); --muted-foreground: var(--text-dim); --accent-foreground: var(--text); --input: var(--border-strong); --ring: var(--accent); } @theme inline { --color-bg: var(--bg); --color-surface: var(--surface); --color-surface-hover: var(--surface-hover); --color-border: var(--border); --color-border-strong: var(--border-strong); --color-text: var(--text); --color-text-dim: var(--text-dim); --color-text-faint: var(--text-faint); --color-accent: var(--accent); --color-up: var(--up); --color-down: var(--down); --color-destructive: var(--destructive); --color-icon-bg: var(--icon-bg); --color-popover: var(--popover); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --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-foreground: var(--accent-foreground); --color-input: var(--input); --color-ring: var(--ring); --radius-lg: var(--radius); --radius-md: calc(var(--radius) - 2px); --radius-sm: calc(var(--radius) - 4px); --font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, sans-serif; --font-mono: "Geist Mono Variable", ui-monospace, monospace; --font-serif: "Instrument Serif", Georgia, serif; --font-terminal: "JetBrains Mono Variable", ui-monospace, monospace; } @layer base { html { -webkit-font-smoothing: antialiased; } body { background: var(--bg); color: var(--text); min-height: 100dvh; transition: background 200ms var(--ease), color 200ms var(--ease); } :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } @media (prefers-reduced-motion: reduce) { * { transition: none !important; } } }