/* ============================================================ COLOR THEMES (data-color-theme="...") Contract: every dark/light theme block defines --surface-hover so component hover states can use var(--surface-hover) without per-selector fallbacks or mode-specific overrides. FNXC:DashboardTheming 2026-06-15-00:00: Theme token translucency uses color-mix(in srgb, var(--token) N%, transparent) or exact literal color-mix values for glass surfaces. Raw RGB alpha color functions are banned outside var() fallbacks by FN-6489. ============================================================ */ /* OCEAN - Deep blues and cyans */ [data-color-theme="ocean"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #00b8d4; --in-progress: #00e5ff; --in-progress-rgb: 0, 229, 255; --in-review: #00c853; --triage: #ffab00; --done: #607d8b; --color-success: #00c853; --color-error: #ff5252; --cta-bg: #00897b; --cta-border: #00a08a; --cta-text: #fff; --cta-bg-hover: #00a08a; --cta-border-hover: #00c853; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #0288d1; --accent: #00b8d4; --accent-text: #fff; } [data-color-theme="ocean"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #0097a7; --in-progress: #00bcd4; --in-progress-rgb: 0, 188, 212; --in-review: #4caf50; --triage: #f57c00; --done: #546e7a; --color-success: #4caf50; --color-error: #f44336; --cta-bg: #00796b; --cta-border: #00897b; --cta-text: #fff; --cta-bg-hover: #00897b; --cta-border-hover: #4caf50; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #0277bd; --accent: #0097a7; --accent-text: #fff; } /* FOREST - Deep greens and emeralds */ [data-color-theme="forest"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #34d399; --in-progress: #10b981; --in-progress-rgb: 16, 185, 129; --in-review: #22c55e; --triage: #fbbf24; --done: #6b7280; --color-success: #22c55e; --color-error: #ef4444; --cta-bg: #16a34a; --cta-border: #22c55e; --cta-text: #fff; --cta-bg-hover: #22c55e; --cta-border-hover: #34d399; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #29b6f6; --accent: #16a34a; --accent-text: #fff; } [data-color-theme="forest"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #059669; --in-progress: #047857; --in-progress-rgb: 4, 120, 87; --in-review: #16a34a; --triage: #d97706; --done: #4b5563; --color-success: #16a34a; --color-error: #dc2626; --cta-bg: #15803d; --cta-border: #16a34a; --cta-text: #fff; --cta-bg-hover: #16a34a; --cta-border-hover: #22c55e; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #0288d1; --accent: #15803d; --accent-text: #fff; } /* SUNSET - Warm oranges and reds */ [data-color-theme="sunset"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #ffab00; --in-progress: #ff6d00; --in-progress-rgb: 255, 109, 0; --in-review: #ff9100; --triage: #ff3d00; --done: #8d6e63; --color-success: #ff9100; --color-error: #ff1744; --cta-bg: #e65100; --cta-border: #ff6d00; --cta-text: #fff; --cta-bg-hover: #ff6d00; --cta-border-hover: #ff9100; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #2196f3; --accent: #ff6d00; --accent-text: #fff; } [data-color-theme="sunset"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #e65100; --in-progress: #ef6c00; --in-progress-rgb: 239, 108, 0; --in-review: #f57c00; --triage: #d84315; --done: #5d4037; --color-success: #f57c00; --color-error: #c62828; --cta-bg: #bf360c; --cta-border: #e65100; --cta-text: #fff; --cta-bg-hover: #e65100; --cta-border-hover: #ff6d00; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #1565c0; --accent: #e65100; --accent-text: #fff; } /* BERRY - Purple/pink tones */ [data-color-theme="berry"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #e040fb; --in-progress: #00e5ff; --in-progress-rgb: 0, 229, 255; --in-review: #b388ff; --triage: #ff4081; --done: #9575cd; --color-success: #b388ff; --color-error: #ff5252; --cta-bg: #9c27b0; --cta-border: #ab47bc; --cta-text: #fff; --cta-bg-hover: #ab47bc; --cta-border-hover: #ce93d8; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #7c4dff; --accent: #9c27b0; --accent-text: #fff; } [data-color-theme="berry"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #7b1fa2; --in-progress: #00bcd4; --in-progress-rgb: 0, 188, 212; --in-review: #9c27b0; --triage: #c2185b; --done: #673ab7; --color-success: #9c27b0; --color-error: #d32f2f; --cta-bg: #7b1fa2; --cta-border: #9c27b0; --cta-text: #fff; --cta-bg-hover: #9c27b0; --cta-border-hover: #ab47bc; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #6200ea; --accent: #7b1fa2; --accent-text: #fff; } /* MONOCHROME - Pure grays */ [data-color-theme="monochrome"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #9e9e9e; --in-progress: #bdbdbd; --in-progress-rgb: 189, 189, 189; --in-review: #e0e0e0; --triage: #757575; --done: #616161; --color-success: #e0e0e0; --color-error: #ff5252; --cta-bg: #757575; --cta-border: #9e9e9e; --cta-text: #fff; --cta-bg-hover: #9e9e9e; --cta-border-hover: #bdbdbd; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #64b5f6; --accent: #b0b0b0; --accent-text: #fff; } [data-color-theme="monochrome"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #616161; --in-progress: #757575; --in-progress-rgb: 117, 117, 117; --in-review: #9e9e9e; --triage: #424242; --done: #424242; --color-success: #616161; --color-error: #d32f2f; --cta-bg: #616161; --cta-border: #757575; --cta-text: #fff; --cta-bg-hover: #757575; --cta-border-hover: #9e9e9e; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #1976d2; --accent: #616161; --accent-text: #fff; } /* SLATE - Cool blue-gray tones */ [data-color-theme="slate"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #7c8fa4; --in-progress: #94a3b8; --in-progress-rgb: 148, 163, 184; --in-review: #cbd5e1; --triage: #64748b; --done: #64748b; --color-success: #cbd5e1; --color-error: #f87171; --cta-bg: #64748b; --cta-border: #7c8fa4; --cta-text: #fff; --cta-bg-hover: #7c8fa4; --cta-border-hover: #94a3b8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent); --logo-accent: var(--todo); --color-info: #60a5fa; --accent: #64748b; --accent-text: #fff; } [data-color-theme="slate"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #475569; --in-progress: #64748b; --in-progress-rgb: 100, 116, 139; --in-review: #64748b; --triage: #334155; --done: #64748b; --color-success: #475569; --color-error: #dc2626; --cta-bg: #475569; --cta-border: #64748b; --cta-text: #fff; --cta-bg-hover: #64748b; --cta-border-hover: #94a3b8; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #3b82f6; --accent: #475569; --accent-text: #fff; } /* ASH - Warm medium grays */ [data-color-theme="ash"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #9ca3af; --in-progress: #a8a29e; --in-progress-rgb: 168, 162, 158; --in-review: #d4d4d8; --triage: #78716c; --done: #71717a; --color-success: #d4d4d8; --color-error: #fca5a5; --cta-bg: #78716c; --cta-border: #9ca3af; --cta-text: #fff; --cta-bg-hover: #9ca3af; --cta-border-hover: #a8a29e; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent); --logo-accent: var(--todo); --color-info: #93c5fd; --accent: #a1887f; --accent-text: #fff; } [data-color-theme="ash"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #57534e; --in-progress: #78716c; --in-progress-rgb: 120, 113, 108; --in-review: #78716c; --triage: #44403c; --done: #78716c; --color-success: #57534e; --color-error: #ef4444; --cta-bg: #57534e; --cta-border: #78716c; --cta-text: #fff; --cta-bg-hover: #78716c; --cta-border-hover: #a8a29e; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #3b82f6; --accent: #6d5d53; --accent-text: #fff; } /* FNXC:DashboardTheming 2026-06-19-15:39: Air must be the calmest, flattest theme: near-monochrome tokens, a restrained blue-gray accent, a clean system sans stack, and faint color-mix borders. The "remove unnecessary UI" requirement is intentionally CSS-only and scoped to [data-color-theme="air"] so shared DOM affordances remain present while borders, shadows, and decorative chrome flatten visually. FNXC:DashboardTheming 2026-06-22-14:24: Air should hide horizontal divider lines across headers, modal title bars, footers, and tab rails while preserving vertical pane dividers and component outlines. Keep this as theme CSS so the DOM and hit targets remain shared across themes. */ [data-color-theme="air"] { --bg: #0f1115; --surface: #151820; --card: #171a22; --card-hover: color-mix(in srgb, var(--card) 92%, var(--text) 8%); --text: #eef1f4; --text-muted: #9aa3ad; --border: color-mix(in srgb, var(--text) 8%, transparent); --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; --todo: #a5adba; --in-progress: #b8c0cc; --in-progress-rgb: 184, 192, 204; --in-review: #c7ced8; --triage: #8d96a3; --done: #737d8a; --color-success: #c7ced8; --color-error: #d8a7a7; --color-warning: #b7ad9a; --color-info: #a8bfd8; --cta-bg: #dbe5ef; --cta-border: color-mix(in srgb, var(--cta-bg) 72%, transparent); --cta-text: #111318; --cta-bg-hover: #eef3f8; --cta-border-hover: color-mix(in srgb, var(--cta-bg-hover) 82%, transparent); --cta-glow: 0 0 0 transparent; --logo-accent: var(--accent); --accent: #a8bfd8; --accent-text: #111318; } [data-color-theme="air"][data-theme="light"] { --bg: #fbfbfa; --surface: #ffffff; --card: #ffffff; --card-hover: color-mix(in srgb, var(--card) 96%, var(--text) 4%); --text: #1f242b; --text-muted: #69717c; --border: color-mix(in srgb, var(--text) 8%, transparent); --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; --todo: #667085; --in-progress: #4f5f73; --in-progress-rgb: 79, 95, 115; --in-review: #5f6f83; --triage: #7a7368; --done: #8a929f; --color-success: #526273; --color-error: #b45f5f; --color-warning: #8a7760; --color-info: #536b86; --cta-bg: #26313d; --cta-border: color-mix(in srgb, var(--cta-bg) 76%, transparent); --cta-text: #ffffff; --cta-bg-hover: #354253; --cta-border-hover: color-mix(in srgb, var(--cta-bg-hover) 84%, transparent); --cta-glow: 0 0 0 transparent; --logo-accent: var(--accent); --accent: #536b86; --accent-text: #ffffff; } [data-color-theme="air"] .card, [data-color-theme="air"] .column, [data-color-theme="air"] .panel, [data-color-theme="air"] .modal, [data-color-theme="air"] .task-card { border-color: var(--border); box-shadow: 0 0 0 transparent; background-image: none; } [data-color-theme="air"] .btn, [data-color-theme="air"] .btn-icon, [data-color-theme="air"] .input, [data-color-theme="air"] input, [data-color-theme="air"] textarea, [data-color-theme="air"] select { border-color: var(--border); box-shadow: 0 0 0 transparent; } [data-color-theme="air"] .btn:hover, [data-color-theme="air"] .btn-icon:hover, [data-color-theme="air"] .card:hover, [data-color-theme="air"] .task-card:hover { box-shadow: 0 0 0 transparent; } [data-color-theme="air"] .badge, [data-color-theme="air"] .pill, [data-color-theme="air"] .tag { border-color: var(--border); box-shadow: 0 0 0 transparent; } [data-color-theme="air"] .view-header, [data-color-theme="air"] .header, [data-color-theme="air"] .modal-header, [data-color-theme="air"] .modal-actions, [data-color-theme="air"] .modal-footer, [data-color-theme="air"] .floating-window-header, [data-color-theme="air"] .settings-section-heading, [data-color-theme="air"] .settings-section-divider, [data-color-theme="air"] .runtime-card__tabs, [data-color-theme="air"] .runtime-card__footer, [data-color-theme="air"] .mailbox-thread-detail-header, [data-color-theme="air"] .chat-sidebar-footer, [data-color-theme="air"] .task-detail-tabs, [data-color-theme="air"] .task-detail-section, [data-color-theme="air"] .workflow-output-modal-header, [data-color-theme="air"] .file-browser-modal-header, [data-color-theme="air"] .activity-log-header { border-top-color: transparent; border-bottom-color: transparent; } /* FNXC:DashboardTheming 2026-06-22-14:24: Shadcn-family themes should read as seamless app shells: header and modal-title separators disappear, but vertical pane borders and local control outlines stay intact. */ [data-color-theme^="shadcn"] .view-header, [data-color-theme^="shadcn"] .header, [data-color-theme^="shadcn"] .modal-header, [data-color-theme^="shadcn"] .modal-actions, [data-color-theme^="shadcn"] .modal-footer, [data-color-theme^="shadcn"] .floating-window-header, [data-color-theme^="shadcn"] .settings-section-heading, [data-color-theme^="shadcn"] .settings-section-divider, [data-color-theme^="shadcn"] .workflow-output-modal-header, [data-color-theme^="shadcn"] .file-browser-modal-header, [data-color-theme^="shadcn"] .activity-log-header { border-top-color: transparent; border-bottom-color: transparent; } /* FNXC:DashboardTheming 2026-06-23-00:07: All shadcn-family themes should use one UI font family across app chrome, forms, popovers, and buttons. Native controls do not reliably inherit the document font in every browser, so pin shadcn UI controls to --font-primary while preserving --font-mono for code-oriented text. */ [data-color-theme^="shadcn"], [data-color-theme^="shadcn"] body, [data-color-theme^="shadcn"] button, [data-color-theme^="shadcn"] input, [data-color-theme^="shadcn"] select, [data-color-theme^="shadcn"] textarea, [data-color-theme^="shadcn"] optgroup, [data-color-theme^="shadcn"] .btn, [data-color-theme^="shadcn"] .input, [data-color-theme^="shadcn"] .select, [data-color-theme^="shadcn"] .modal, [data-color-theme^="shadcn"] .card { font-family: var(--font-primary); } [data-color-theme^="shadcn"] code, [data-color-theme^="shadcn"] pre, [data-color-theme^="shadcn"] kbd, [data-color-theme^="shadcn"] samp, [data-color-theme^="shadcn"] .font-mono { font-family: var(--font-mono); } /* GRAPHITE - Dark graphite blacks */ [data-color-theme="graphite"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #a0a0a0; --in-progress: #b8b8b8; --in-progress-rgb: 184, 184, 184; --in-review: #d0d0d0; --triage: #808080; --done: #686868; --color-success: #d0d0d0; --color-error: #ff6b6b; --cta-bg: #808080; --cta-border: #a0a0a0; --cta-text: #fff; --cta-bg-hover: #a0a0a0; --cta-border-hover: #b8b8b8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent); --logo-accent: var(--todo); --color-info: #7ab8ff; --accent: #a0a0a0; --accent-text: #fff; } [data-color-theme="graphite"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #404040; --in-progress: #606060; --in-progress-rgb: 96, 96, 96; --in-review: #606060; --triage: #2a2a2a; --done: #606060; --color-success: #404040; --color-error: #dc2626; --cta-bg: #404040; --cta-border: #606060; --cta-text: #fff; --cta-bg-hover: #606060; --cta-border-hover: #808080; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #2563eb; --accent: #606060; --accent-text: #fff; } /* EMBER - Dark graphite with orange accent */ [data-color-theme="ember"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #a0a0a0; --in-progress: #b8b8b8; --in-progress-rgb: 184, 184, 184; --in-review: #d0d0d0; --triage: #808080; --done: #686868; --color-success: #d0d0d0; --color-error: #ff6b6b; --cta-bg: #d4622a; --cta-border: #e8773a; --cta-text: #fff; --cta-bg-hover: #e8773a; --cta-border-hover: #f09050; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: #e8773a; --color-info: #e8773a; --accent: #e8773a; --accent-text: #fff; } [data-color-theme="ember"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #404040; --in-progress: #606060; --in-progress-rgb: 96, 96, 96; --in-review: #606060; --triage: #2a2a2a; --done: #606060; --color-success: #404040; --color-error: #dc2626; --cta-bg: #c05820; --cta-border: #d4622a; --cta-text: #fff; --cta-bg-hover: #d4622a; --cta-border-hover: #e07030; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent); --logo-accent: #d4622a; --color-info: #c05820; --accent: #d4622a; --accent-text: #fff; } /* SILVER - Light silvery grays */ [data-color-theme="silver"] { --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --todo: #b0b0b0; --in-progress: #c0c0c0; --in-progress-rgb: 192, 192, 192; --in-review: #e8e8e8; --triage: #909090; --done: #a0a0a0; --color-success: #e8e8e8; --color-error: #ff8080; --cta-bg: #909090; --cta-border: #b0b0b0; --cta-text: #fff; --cta-bg-hover: #b0b0b0; --cta-border-hover: #c0c0c0; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent); --logo-accent: var(--todo); --color-info: #90c0ff; --accent: #b8b8b8; --accent-text: #fff; } [data-color-theme="silver"][data-theme="light"] { --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --todo: #525252; --in-progress: #737373; --in-progress-rgb: 115, 115, 115; --in-review: #737373; --triage: #404040; --done: #737373; --color-success: #525252; --color-error: #dc2626; --cta-bg: #525252; --cta-border: #737373; --cta-text: #fff; --cta-bg-hover: #737373; --cta-border-hover: #909090; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #2563eb; --accent: #707070; --accent-text: #fff; } /* ZEN - Minimal, clean monochrome with subtle accents */ [data-color-theme="zen"] { --bg: #0c0c0c; --surface: #111111; --card: #1a1a1a; --card-hover: #222222; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2a2a2a; --text: #e0e0e0; --text-muted: #808080; --text-dim: #555555; --todo: #6b7b8c; --in-progress: #7a8590; --in-progress-rgb: 122, 133, 144; --in-review: #6b8c7a; --triage: #8c7b6b; --done: #666666; --color-success: #6b8c7a; --color-error: #8c6b6b; /* CTA tokens — muted green to match zen restraint */ --cta-bg: #5a7a6a; --cta-border: #6b8c7a; --cta-text: #fff; --cta-bg-hover: #6b8c7a; --cta-border-hover: #7a9a8a; --cta-glow: none; --logo-accent: var(--todo); --color-info: #5c7c8a; /* Minimal glow effects */ --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 1px var(--border); --accent: #7da88e; --accent-text: #fff; } [data-color-theme="zen"][data-theme="light"] { --bg: #f5f5f5; --surface: #fafafa; --card: #ffffff; --card-hover: #f0f0f0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e0e0e0; --text: #333333; --text-muted: #777777; --text-dim: #999999; --todo: #5a6a7a; --in-progress: #6a757f; --in-progress-rgb: 106, 117, 127; --in-review: #5a7a6a; --triage: #7a6a5a; --done: #555555; --color-success: #5a7a6a; --color-error: #7a5a5a; /* CTA tokens — muted green to match zen restraint */ --cta-bg: #4a6a5a; --cta-border: #5a7a6a; --cta-text: #fff; --cta-bg-hover: #5a7a6a; --cta-border-hover: #6b8c7a; --cta-glow: none; --logo-accent: var(--todo); --color-info: #4a6a7a; /* Minimal glow effects */ --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 1px var(--border); --accent: #4a6b56; --accent-text: #fff; } /* HIGH CONTRAST - Extreme contrast for accessibility */ [data-color-theme="high-contrast"] { --bg: #000000; --surface: #0a0a0a; --card: #141414; --card-hover: #1f1f1f; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #ffffff; --text: #ffffff; --text-muted: #cccccc; --text-dim: #999999; --todo: #00ffff; --in-progress: #ffff00; --in-progress-rgb: 255, 255, 0; --in-review: #00ff00; --triage: #ffff00; --done: #ffffff; --color-success: #00ff00; --color-error: #ff0000; --cta-bg: #00cc00; --cta-border: #00ff00; --cta-text: #000000; --cta-bg-hover: #00ff00; --cta-border-hover: #33ff33; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 40%, transparent); --logo-accent: var(--todo); --color-info: #00ccff; --accent: #00ff00; --accent-text: #000000; } [data-color-theme="high-contrast"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f0f0f0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #000000; --text: #000000; --text-muted: #333333; --text-dim: #666666; --todo: #0066ff; --in-progress: #0066cc; --in-progress-rgb: 0, 102, 204; --in-review: #009900; --triage: #cc6600; --done: #000000; --color-success: #009900; --color-error: #cc0000; --cta-bg: #006600; --cta-border: #009900; --cta-text: #ffffff; --cta-bg-hover: #009900; --cta-border-hover: #00cc00; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #0055cc; --accent: #00cc00; --accent-text: #ffffff; } /* INDUSTRIAL - Technical engineering spec sheet aesthetic */ [data-color-theme="industrial"] { --bg: #0c0c0c; --surface: #141414; --card: #1a1a1a; --card-hover: #222222; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #333333; --text: #e8e8e8; --text-muted: #888888; --text-dim: #555555; --todo: #ff6b00; --in-progress: #ff8c00; --in-progress-rgb: 255, 140, 0; --in-review: #00bcd4; --triage: #ff5722; --done: #666666; --color-success: #00bcd4; --color-error: #ff3d00; --cta-bg: #e65100; --cta-border: #ff6b00; --cta-text: #fff; --cta-bg-hover: #ff6b00; --cta-border-hover: #ff8c00; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #42a5f5; --accent: #ff6d00; --accent-text: #fff; } [data-color-theme="industrial"][data-theme="light"] { --bg: #f0f0f0; --surface: #fafafa; --card: #ffffff; --card-hover: #f5f5f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d0d0d0; --text: #1a1a1a; --text-muted: #666666; --text-dim: #999999; --todo: #e65100; --in-progress: #ef6c00; --in-progress-rgb: 239, 108, 0; --in-review: #0097a7; --triage: #d84315; --done: #555555; --color-success: #0097a7; --color-error: #d84315; --cta-bg: #bf360c; --cta-border: #e65100; --cta-text: #fff; --cta-bg-hover: #e65100; --cta-border-hover: #ff6b00; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #1565c0; --accent: #bf360c; --accent-text: #fff; } /* SOLARIZED - Classic solarized palette */ [data-color-theme="solarized"] { --bg: #002b36; --surface: #073642; --card: #083c4a; --card-hover: #094c5e; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #586e75; --text: #839496; --text-muted: #657b83; --text-dim: #586e75; --todo: #268bd2; --in-progress: #2aa198; --in-progress-rgb: 42, 161, 152; --in-review: #859900; --triage: #b58900; --done: #93a1a1; --color-success: #859900; --color-error: #dc322f; --cta-bg: #719e00; --cta-border: #859900; --cta-text: #002b36; --cta-bg-hover: #859900; --cta-border-hover: #a4b800; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #2aa198; --accent: #859900; --accent-text: #002b36; } [data-color-theme="solarized"][data-theme="light"] { --bg: #fdf6e3; --surface: #eee8d5; --card: #f5efdc; --card-hover: #e8e2d0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #93a1a1; --text: #586e75; --text-muted: #657b83; --text-dim: #839496; --todo: #268bd2; --in-progress: #2aa198; --in-progress-rgb: 42, 161, 152; --in-review: #859900; --triage: #b58900; --done: #93a1a1; --color-success: #859900; --color-error: #dc322f; --cta-bg: #6a8800; --cta-border: #719e00; --cta-text: #fdf6e3; --cta-bg-hover: #719e00; --cta-border-hover: #859900; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #2aa198; --accent: #637b00; --accent-text: #fdf6e3; } /* FACTORY - Industrial Mission Control Theme A comprehensive design theme that overrides fonts, spacing, and component styling for an industrial sci-fi aesthetic. */ [data-color-theme="factory"] { --bg: #0a0a0a; --surface: #111111; --card: #1a1a1a; --card-hover: #222222; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #333333; --text: #e5e5e5; --text-muted: #888888; --text-dim: #555555; --todo: #f59e0b; --in-progress: #06b6d4; --in-progress-rgb: 6, 182, 212; --in-review: #22c55e; --triage: #ef4444; --done: #6b7280; --color-success: #22c55e; --color-error: #ef4444; --color-muted: #6b7280; --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace; --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace; --space-xs: 2px; --space-sm: 4px; --space-md: 8px; --space-lg: 12px; --space-xl: 16px; --space-2xl: 24px; --radius-sm: 2px; --radius-md: 4px; --radius-lg: 6px; --radius-xl: 8px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 2px; --card-padding: 8px 10px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-sm); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 1px color-mix(in srgb, #000000 50%, transparent); --shadow-md: 0 2px 4px color-mix(in srgb, #000000 50%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 60%, transparent); --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 40%, transparent); --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 35%, transparent); --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 40%, transparent); --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 35%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 18%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 30%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.05s ease; --transition-fast: 0.1s ease; --transition-normal: 0.15s ease; --transition-slow: 0.2s ease; --cta-bg: #d97706; --cta-border: #f59e0b; --cta-text: #0a0a0a; --cta-bg-hover: #f59e0b; --cta-border-hover: #fbbf24; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 40%, transparent); --logo-accent: var(--todo); --color-info: #2563eb; --accent: #d97706; --accent-text: #0a0a0a; } [data-color-theme="factory"][data-theme="light"] { --bg: #f5f5f5; --surface: #ffffff; --card: #fafafa; --card-hover: #f0f0f0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d4d4d4; --text: #1a1a1a; --text-muted: #666666; --text-dim: #999999; --todo: #d97706; --in-progress: #0891b2; --in-progress-rgb: 8, 145, 178; --in-review: #16a34a; --triage: #dc2626; --done: #4b5563; --color-success: #16a34a; --color-error: #dc2626; --color-muted: #6b7280; --shadow-sm: 0 1px 1px color-mix(in srgb, var(--text) 10%, transparent); --shadow-md: 0 2px 4px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 15%, transparent); --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 30%, transparent); --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 25%, transparent); --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 30%, transparent); --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 22%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 14%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent); --shadow: var(--shadow-lg); --cta-bg: #b45309; --cta-border: #d97706; --cta-text: #fff; --cta-bg-hover: #d97706; --cta-border-hover: #f59e0b; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #1d4ed8; --accent: #b45309; --accent-text: #fff; } [data-color-theme="factory"] .card.agent-active { border-color: var(--todo); box-shadow: 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent), 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent); animation: agent-glow-factory 2s ease-in-out infinite; } @keyframes agent-glow-factory { 0%, 100% { box-shadow: 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent), 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent); } 50% { box-shadow: 0 0 10px color-mix(in srgb, #f59e0b 70%, transparent), 0 0 20px color-mix(in srgb, #f59e0b 40%, transparent); } } [data-color-theme="factory"][data-theme="light"] .card.agent-active { box-shadow: 0 0 6px color-mix(in srgb, #d97706 40%, transparent), 0 0 12px color-mix(in srgb, #d97706 15%, transparent); animation: agent-glow-factory-light 2s ease-in-out infinite; } @keyframes agent-glow-factory-light { 0%, 100% { box-shadow: 0 0 6px color-mix(in srgb, #d97706 40%, transparent), 0 0 12px color-mix(in srgb, #d97706 15%, transparent); } 50% { box-shadow: 0 0 10px color-mix(in srgb, #d97706 60%, transparent), 0 0 20px color-mix(in srgb, #d97706 30%, transparent); } } [data-color-theme="factory"] .btn { text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; } [data-color-theme="factory"] .btn-primary, [data-color-theme="factory"] .btn-task-create { background: transparent; border-color: var(--todo); color: var(--todo); box-shadow: none; } [data-color-theme="factory"] .btn-primary:hover, [data-color-theme="factory"] .btn-task-create:hover { background: var(--todo); color: var(--bg); box-shadow: var(--shadow-glow); } [data-color-theme="factory"] .card, [data-color-theme="factory"] .column { border-width: 2px; } [data-color-theme="factory"] .column-header h2 { text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.75rem; } [data-color-theme="factory"] .column-count, [data-color-theme="factory"] .card-id { font-family: var(--font-mono); font-weight: 700; } /* FNXC:Theming 2026-06-19-00:00: Factory Mono is a monochrome Factory variant for FN-6724: keep the industrial monospace density, uppercase controls, and 2px border system while limiting color to red accents and removing pulsing glow effects. */ [data-color-theme="factory-mono"] { --bg: #0a0a0a; --surface: #111111; --card: #1a1a1a; --card-hover: #222222; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #333333; --text: #f5f5f5; --text-muted: #a3a3a3; --text-dim: #737373; --todo: #d4d4d4; --in-progress: #a3a3a3; --in-progress-rgb: 163, 163, 163; --in-review: #e5e5e5; --triage: #737373; --done: #525252; --color-success: #e5e5e5; --color-warning: #d4d4d4; --color-error: #ef4444; --color-muted: #737373; --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace; --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace; --space-xs: 2px; --space-sm: 4px; --space-md: 8px; --space-lg: 12px; --space-xl: 16px; --space-2xl: 24px; --radius-sm: 2px; --radius-md: 4px; --radius-lg: 6px; --radius-xl: 8px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 2px; --card-padding: 8px 10px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-sm); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: none; --shadow-md: 0 1px 0 color-mix(in srgb, #000000 60%, transparent); --shadow-lg: 0 1px 0 color-mix(in srgb, #000000 70%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 30%, transparent); --focus-ring-strong: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.05s ease; --transition-fast: 0.1s ease; --transition-normal: 0.15s ease; --transition-slow: 0.2s ease; --cta-bg: transparent; --cta-border: #ef4444; --cta-text: #ef4444; --cta-bg-hover: #ef4444; --cta-border-hover: #f87171; --cta-glow: none; --logo-accent: #ef4444; --color-info: #d4d4d4; --accent: #ef4444; --accent-text: #0a0a0a; } [data-color-theme="factory-mono"][data-theme="light"] { --bg: #f5f5f5; --surface: #ffffff; --card: #fafafa; --card-hover: #f0f0f0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d4d4d4; --text: #1a1a1a; --text-muted: #525252; --text-dim: #737373; --todo: #525252; --in-progress: #737373; --in-progress-rgb: 115, 115, 115; --in-review: #404040; --triage: #a3a3a3; --done: #8a8a8a; --color-success: #404040; --color-warning: #525252; --color-error: #dc2626; --color-muted: #737373; --shadow-sm: none; --shadow-md: 0 1px 0 color-mix(in srgb, var(--text) 12%, transparent); --shadow-lg: 0 1px 0 color-mix(in srgb, var(--text) 18%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 25%, transparent); --focus-ring-strong: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 38%, transparent); --shadow: var(--shadow-lg); --cta-bg: transparent; --cta-border: #dc2626; --cta-text: #dc2626; --cta-bg-hover: #dc2626; --cta-border-hover: #ef4444; --cta-glow: none; --logo-accent: #dc2626; --color-info: #525252; --accent: #dc2626; --accent-text: #ffffff; } [data-color-theme="factory-mono"] .card.agent-active { border-color: var(--accent); box-shadow: none; animation: none; } [data-color-theme="factory-mono"][data-theme="light"] .card.agent-active { border-color: var(--accent); box-shadow: none; animation: none; } [data-color-theme="factory-mono"] .btn { text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; } [data-color-theme="factory-mono"] .btn-primary, [data-color-theme="factory-mono"] .btn-task-create { background: transparent; border-color: var(--accent); color: var(--accent); box-shadow: none; } [data-color-theme="factory-mono"] .btn-primary:hover, [data-color-theme="factory-mono"] .btn-task-create:hover { background: var(--accent); color: var(--accent-text); box-shadow: none; } [data-color-theme="factory-mono"] .card, [data-color-theme="factory-mono"] .column { border-width: var(--btn-border-width); } [data-color-theme="factory-mono"] .column-header h2 { text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.75rem; } [data-color-theme="factory-mono"] .column-count, [data-color-theme="factory-mono"] .card-id { font-family: var(--font-mono); font-weight: 700; } /* FNXC:Theming 2026-06-19-15:35: The shadcn theme for FN-6747 approximates the shadcn/ui new-york zinc aesthetic with sans-serif typography, tokenized comfortable spacing, 1px borders, subtle flat shadows, neutralized glow tokens, and a solid primary button instead of Factory-style outlined uppercase controls. FNXC:Theming 2026-06-20-00:00: FN-6758 makes the default shadcn highlight/accent orange for focus rings, active borders, links, and selection affordances while preserving the zinc-neutral surfaces, neutralized glows, and solid neutral primary button. */ [data-color-theme="shadcn"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.05s ease; --transition-fast: 0.1s ease; --transition-normal: 0.15s ease; --transition-slow: 0.2s ease; --cta-bg: #fafafa; --cta-border: #fafafa; --cta-text: #18181b; --cta-bg-hover: #e4e4e7; --cta-border-hover: #e4e4e7; --cta-glow: none; --logo-accent: var(--text); --color-info: #38bdf8; --accent: #f97316; --accent-text: #ffffff; } [data-color-theme="shadcn"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #18181b; --cta-border: #18181b; --cta-text: #fafafa; --cta-bg-hover: #27272a; --cta-border-hover: #27272a; --cta-glow: none; --logo-accent: var(--text); --color-info: #0284c7; --accent: #ea580c; --accent-text: #ffffff; } /* FNXC:DashboardTheming 2026-06-30-00:00: Shadcn Ember combines shadcn/ui zinc structure with Ember's warm orange/graphite CTA, status, accent, and info colors. It is the default for unset installs while explicit legacy theme ids stay valid. FNXC:DashboardTheming 2026-06-30-21:41: Shadcn Ember must keep shadcn structure but match every Ember-owned color token byte-for-byte against Ember in dark and light mode so the default theme cannot drift from Ember's palette. */ [data-color-theme="shadcn-ember"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a0a0a0; --in-progress: #b8b8b8; --in-progress-rgb: 184, 184, 184; --in-review: #d0d0d0; --triage: #808080; --done: #686868; --color-success: #d0d0d0; --color-warning: #f59e0b; --color-error: #ff6b6b; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.05s ease; --transition-fast: 0.1s ease; --transition-normal: 0.15s ease; --transition-slow: 0.2s ease; --cta-bg: #d4622a; --cta-border: #e8773a; --cta-text: #fff; --cta-bg-hover: #e8773a; --cta-border-hover: #f09050; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: #e8773a; --color-info: #e8773a; --accent: #e8773a; --accent-text: #fff; } [data-color-theme="shadcn-ember"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #404040; --in-progress: #606060; --in-progress-rgb: 96, 96, 96; --in-review: #606060; --triage: #2a2a2a; --done: #606060; --color-success: #404040; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #c05820; --cta-border: #d4622a; --cta-text: #fff; --cta-bg-hover: #d4622a; --cta-border-hover: #e07030; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent); --logo-accent: #d4622a; --color-info: #c05820; --accent: #d4622a; --accent-text: #fff; } /* FNXC:Theming 2026-06-20-18:30: FN-6816 keeps shadcn-custom visually identical to the base shadcn theme until sanitized user token overrides are applied inline by the dashboard theme hook. */ [data-color-theme="shadcn-custom"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.05s ease; --transition-fast: 0.1s ease; --transition-normal: 0.15s ease; --transition-slow: 0.2s ease; --cta-bg: #fafafa; --cta-border: #fafafa; --cta-text: #18181b; --cta-bg-hover: #e4e4e7; --cta-border-hover: #e4e4e7; --cta-glow: none; --logo-accent: var(--text); --color-info: #38bdf8; --accent: #f97316; --accent-text: #ffffff; } [data-color-theme="shadcn-custom"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #18181b; --cta-border: #18181b; --cta-text: #fafafa; --cta-bg-hover: #27272a; --cta-border-hover: #27272a; --cta-glow: none; --logo-accent: var(--text); --color-info: #0284c7; --accent: #ea580c; --accent-text: #ffffff; } [data-color-theme="shadcn"] .card.agent-active, [data-color-theme="shadcn-ember"] .card.agent-active, [data-color-theme="shadcn-custom"] .card.agent-active { border-color: var(--accent); box-shadow: none; animation: none; } [data-color-theme="shadcn"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-ember"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-custom"][data-theme="light"] .card.agent-active { border-color: var(--accent); box-shadow: none; animation: none; } [data-color-theme="shadcn"] .btn, [data-color-theme="shadcn-ember"] .btn, [data-color-theme="shadcn-custom"] .btn { text-transform: none; letter-spacing: normal; font-weight: 500; } [data-color-theme="shadcn"] .btn-primary, [data-color-theme="shadcn"] .btn-task-create, [data-color-theme="shadcn-ember"] .btn-primary, [data-color-theme="shadcn-ember"] .btn-task-create, [data-color-theme="shadcn-custom"] .btn-primary, [data-color-theme="shadcn-custom"] .btn-task-create { background: var(--cta-bg); border-color: var(--cta-border); color: var(--cta-text); box-shadow: none; } [data-color-theme="shadcn"] .btn-primary:hover, [data-color-theme="shadcn"] .btn-task-create:hover, [data-color-theme="shadcn-ember"] .btn-primary:hover, [data-color-theme="shadcn-ember"] .btn-task-create:hover, [data-color-theme="shadcn-custom"] .btn-primary:hover, [data-color-theme="shadcn-custom"] .btn-task-create:hover { background: var(--cta-bg-hover); border-color: var(--cta-border-hover); color: var(--cta-text); box-shadow: none; } [data-color-theme="shadcn"] .card, [data-color-theme="shadcn"] .column, [data-color-theme="shadcn-ember"] .card, [data-color-theme="shadcn-ember"] .column, [data-color-theme="shadcn-custom"] .card, [data-color-theme="shadcn-custom"] .column { border-width: var(--btn-border-width); } /* FNXC:Theming 2026-06-19-16:12: FN-6756 adds shadcn color-family themes as exact zinc-neutral shadcn variants with only primary/accent/CTA/info tokens changed for the named color. Shadcn Mono keeps red as the single accent while desaturating workflow statuses toward zinc gray, and Shadcn Black removes chroma from all status tokens for a pure black-and-white option. */ [data-color-theme="shadcn-blue"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3b82f6; --cta-border: #3b82f6; --cta-text: #ffffff; --cta-bg-hover: #2563eb; --cta-border-hover: #2563eb; --cta-glow: none; --logo-accent: var(--accent); --color-info: #3b82f6; --accent: #3b82f6; --accent-text: #ffffff; } [data-color-theme="shadcn-blue"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #2563eb; --cta-border: #2563eb; --cta-text: #ffffff; --cta-bg-hover: #1d4ed8; --cta-border-hover: #1d4ed8; --cta-glow: none; --logo-accent: var(--accent); --color-info: #2563eb; --accent: #2563eb; --accent-text: #ffffff; } [data-color-theme="shadcn-green"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #22c55e; --cta-border: #22c55e; --cta-text: #ffffff; --cta-bg-hover: #16a34a; --cta-border-hover: #16a34a; --cta-glow: none; --logo-accent: var(--accent); --color-info: #22c55e; --accent: #22c55e; --accent-text: #ffffff; } [data-color-theme="shadcn-green"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #16a34a; --cta-border: #16a34a; --cta-text: #ffffff; --cta-bg-hover: #15803d; --cta-border-hover: #15803d; --cta-glow: none; --logo-accent: var(--accent); --color-info: #16a34a; --accent: #16a34a; --accent-text: #ffffff; } [data-color-theme="shadcn-red"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ef4444; --cta-border: #ef4444; --cta-text: #ffffff; --cta-bg-hover: #dc2626; --cta-border-hover: #dc2626; --cta-glow: none; --logo-accent: var(--accent); --color-info: #ef4444; --accent: #ef4444; --accent-text: #ffffff; } [data-color-theme="shadcn-red"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #dc2626; --cta-border: #dc2626; --cta-text: #ffffff; --cta-bg-hover: #b91c1c; --cta-border-hover: #b91c1c; --cta-glow: none; --logo-accent: var(--accent); --color-info: #dc2626; --accent: #dc2626; --accent-text: #ffffff; } [data-color-theme="shadcn-purple"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #8b5cf6; --cta-border: #8b5cf6; --cta-text: #ffffff; --cta-bg-hover: #7c3aed; --cta-border-hover: #7c3aed; --cta-glow: none; --logo-accent: var(--accent); --color-info: #8b5cf6; --accent: #8b5cf6; --accent-text: #ffffff; } [data-color-theme="shadcn-purple"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #7c3aed; --cta-border: #7c3aed; --cta-text: #ffffff; --cta-bg-hover: #6d28d9; --cta-border-hover: #6d28d9; --cta-glow: none; --logo-accent: var(--accent); --color-info: #7c3aed; --accent: #7c3aed; --accent-text: #ffffff; } [data-color-theme="shadcn-pink"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ec4899; --cta-border: #ec4899; --cta-text: #ffffff; --cta-bg-hover: #db2777; --cta-border-hover: #db2777; --cta-glow: none; --logo-accent: var(--accent); --color-info: #ec4899; --accent: #ec4899; --accent-text: #ffffff; } [data-color-theme="shadcn-pink"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #db2777; --cta-border: #db2777; --cta-text: #ffffff; --cta-bg-hover: #be185d; --cta-border-hover: #be185d; --cta-glow: none; --logo-accent: var(--accent); --color-info: #db2777; --accent: #db2777; --accent-text: #ffffff; } [data-color-theme="shadcn-orange"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #f97316; --cta-border: #f97316; --cta-text: #ffffff; --cta-bg-hover: #ea580c; --cta-border-hover: #ea580c; --cta-glow: none; --logo-accent: var(--accent); --color-info: #f97316; --accent: #f97316; --accent-text: #ffffff; } [data-color-theme="shadcn-orange"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ea580c; --cta-border: #ea580c; --cta-text: #ffffff; --cta-bg-hover: #c2410c; --cta-border-hover: #c2410c; --cta-glow: none; --logo-accent: var(--accent); --color-info: #ea580c; --accent: #ea580c; --accent-text: #ffffff; } [data-color-theme="shadcn-yellow"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #71717a; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #eab308; --cta-border: #eab308; --cta-text: #18181b; --cta-bg-hover: #ca8a04; --cta-border-hover: #ca8a04; --cta-glow: none; --logo-accent: var(--accent); --color-info: #eab308; --accent: #eab308; --accent-text: #18181b; } [data-color-theme="shadcn-yellow"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #a1a1aa; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ca8a04; --cta-border: #ca8a04; --cta-text: #18181b; --cta-bg-hover: #a16207; --cta-border-hover: #a16207; --cta-glow: none; --logo-accent: var(--accent); --color-info: #ca8a04; --accent: #ca8a04; --accent-text: #18181b; } /* FNXC:DashboardTheming 2026-06-20-00:00: FN-6813 makes the shadcn mono theme a color family: shadcn-mono-red preserves the renamed legacy red accent while the other mono variants reuse the same zinc-neutral tokens and swap only accent/CTA values. Legacy stored shadcn-mono selections remap in bootstrap/theme hooks so users keep the red mono theme instead of falling back to default. */ [data-color-theme="shadcn-mono-red"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ef4444; --cta-border: #ef4444; --cta-text: #ffffff; --cta-bg-hover: #dc2626; --cta-border-hover: #dc2626; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #ef4444; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-red"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #71717a; --color-warning: #71717a; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #dc2626; --cta-border: #dc2626; --cta-text: #ffffff; --cta-bg-hover: #b91c1c; --cta-border-hover: #b91c1c; --cta-glow: none; --logo-accent: var(--accent); --color-info: #71717a; --accent: #dc2626; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-blue"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3b82f6; --cta-border: #3b82f6; --cta-text: #ffffff; --cta-bg-hover: #2563eb; --cta-border-hover: #2563eb; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #3b82f6; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-blue"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #71717a; --color-warning: #71717a; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #2563eb; --cta-border: #2563eb; --cta-text: #ffffff; --cta-bg-hover: #1d4ed8; --cta-border-hover: #1d4ed8; --cta-glow: none; --logo-accent: var(--accent); --color-info: #71717a; --accent: #2563eb; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-green"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #22c55e; --cta-border: #22c55e; --cta-text: #ffffff; --cta-bg-hover: #16a34a; --cta-border-hover: #16a34a; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #22c55e; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-green"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #71717a; --color-warning: #71717a; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #16a34a; --cta-border: #16a34a; --cta-text: #ffffff; --cta-bg-hover: #15803d; --cta-border-hover: #15803d; --cta-glow: none; --logo-accent: var(--accent); --color-info: #71717a; --accent: #16a34a; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-purple"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #8b5cf6; --cta-border: #8b5cf6; --cta-text: #ffffff; --cta-bg-hover: #7c3aed; --cta-border-hover: #7c3aed; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #8b5cf6; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-purple"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #71717a; --color-warning: #71717a; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #7c3aed; --cta-border: #7c3aed; --cta-text: #ffffff; --cta-bg-hover: #6d28d9; --cta-border-hover: #6d28d9; --cta-glow: none; --logo-accent: var(--accent); --color-info: #71717a; --accent: #7c3aed; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-pink"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ec4899; --cta-border: #ec4899; --cta-text: #ffffff; --cta-bg-hover: #db2777; --cta-border-hover: #db2777; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #ec4899; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-pink"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #71717a; --color-warning: #71717a; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #db2777; --cta-border: #db2777; --cta-text: #ffffff; --cta-bg-hover: #be185d; --cta-border-hover: #be185d; --cta-glow: none; --logo-accent: var(--accent); --color-info: #71717a; --accent: #db2777; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-orange"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #f97316; --cta-border: #f97316; --cta-text: #ffffff; --cta-bg-hover: #ea580c; --cta-border-hover: #ea580c; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #f97316; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-orange"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #71717a; --color-warning: #71717a; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ea580c; --cta-border: #ea580c; --cta-text: #ffffff; --cta-bg-hover: #c2410c; --cta-border-hover: #c2410c; --cta-glow: none; --logo-accent: var(--accent); --color-info: #71717a; --accent: #ea580c; --accent-text: #ffffff; } [data-color-theme="shadcn-mono-yellow"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #ef4444; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #eab308; --cta-border: #eab308; --cta-text: #18181b; --cta-bg-hover: #ca8a04; --cta-border-hover: #ca8a04; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #eab308; --accent-text: #18181b; } [data-color-theme="shadcn-mono-yellow"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #71717a; --color-warning: #71717a; --color-error: #dc2626; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #ca8a04; --cta-border: #ca8a04; --cta-text: #18181b; --cta-bg-hover: #a16207; --cta-border-hover: #a16207; --cta-glow: none; --logo-accent: var(--accent); --color-info: #71717a; --accent: #ca8a04; --accent-text: #18181b; } [data-color-theme="shadcn-black"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #d4d4d8; --in-progress: #a1a1aa; --in-progress-rgb: 161, 161, 170; --in-review: #a1a1aa; --triage: #71717a; --done: #52525b; --color-success: #a1a1aa; --color-warning: #71717a; --color-error: #d4d4d8; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #fafafa; --cta-border: #fafafa; --cta-text: #18181b; --cta-bg-hover: #e4e4e7; --cta-border-hover: #e4e4e7; --cta-glow: none; --logo-accent: var(--accent); --color-info: #fafafa; --accent: #fafafa; --accent-text: #18181b; } [data-color-theme="shadcn-black"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #18181b; --in-progress: #3f3f46; --in-progress-rgb: 63, 63, 70; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #3f3f46; --color-warning: #71717a; --color-error: #18181b; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #09090b; --cta-border: #09090b; --cta-text: #fafafa; --cta-bg-hover: #27272a; --cta-border-hover: #27272a; --cta-glow: none; --logo-accent: var(--accent); --color-info: #09090b; --accent: #09090b; --accent-text: #fafafa; } /* FNXC:DashboardTheming 2026-06-20-00:00: Shadcn Gray is the fully-neutral zinc variant: it keeps the shadcn surfaces and button treatment while using only zinc/gray accent, CTA, and info tokens instead of red, blue, or other chroma. */ [data-color-theme="shadcn-gray"] { --bg: #09090b; --surface: #0c0c0e; --card: #18181b; --card-hover: #1f1f23; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #27272a; --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #52525b; --todo: #a1a1aa; --in-progress: #71717a; --in-progress-rgb: 113, 113, 122; --in-review: #71717a; --triage: #a1a1aa; --done: #52525b; --color-success: #71717a; --color-warning: #a1a1aa; --color-error: #d4d4d8; --color-muted: #71717a; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #71717a; --cta-border: #71717a; --cta-text: #ffffff; --cta-bg-hover: #52525b; --cta-border-hover: #52525b; --cta-glow: none; --logo-accent: var(--accent); --color-info: #a1a1aa; --accent: #a1a1aa; --accent-text: #18181b; } [data-color-theme="shadcn-gray"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f4f4f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e4e4e7; --text: #09090b; --text-muted: #71717a; --text-dim: #a1a1aa; --todo: #71717a; --in-progress: #52525b; --in-progress-rgb: 82, 82, 91; --in-review: #52525b; --triage: #71717a; --done: #a1a1aa; --color-success: #52525b; --color-warning: #71717a; --color-error: #3f3f46; --color-muted: #71717a; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #52525b; --cta-border: #52525b; --cta-text: #ffffff; --cta-bg-hover: #3f3f46; --cta-border-hover: #3f3f46; --cta-glow: none; --logo-accent: var(--accent); --color-info: #52525b; --accent: #52525b; --accent-text: #ffffff; } /* FNXC:Theming 2026-06-21-00:00: FN-6815 adds Shadcn Gray Blue as the slate-neutral shadcn variant: the whole surface ramp moves from zinc to blue-gray slate while CTA/accent tokens use muted slate-blue and the shadcn flat-shadow/no-glow treatment stays intact. */ [data-color-theme="shadcn-gray-blue"] { --bg: #020617; --surface: #0b1220; --card: #0f172a; --card-hover: #1e293b; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #1e293b; --text: #f8fafc; --text-muted: #94a3b8; --text-dim: #475569; --todo: #60a5fa; --in-progress: #38bdf8; --in-progress-rgb: 56, 189, 248; --in-review: #34d399; --triage: #f59e0b; --done: #64748b; --color-success: #22c55e; --color-warning: #f59e0b; --color-error: #ef4444; --color-muted: #64748b; --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace; --space-xs: 4px; --space-sm: 6px; --space-md: 10px; --space-lg: 16px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 8px; --radius-xl: 12px; --radius: var(--radius-md); --btn-padding: 6px 12px; --btn-border-width: 1px; --card-padding: 10px 12px; --modal-padding: var(--space-md) var(--space-lg); --header-padding: var(--space-sm) var(--space-lg); --column-gap: var(--space-md); --board-padding: var(--space-md) var(--space-lg); --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent); --shadow: var(--shadow-lg); --cta-bg: #64748b; --cta-border: #64748b; --cta-text: #ffffff; --cta-bg-hover: #475569; --cta-border-hover: #475569; --cta-glow: none; --logo-accent: var(--accent); --color-info: #64748b; --accent: #64748b; --accent-text: #ffffff; } [data-color-theme="shadcn-gray-blue"][data-theme="light"] { --bg: #ffffff; --surface: #ffffff; --card: #ffffff; --card-hover: #f1f5f9; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e2e8f0; --text: #0f172a; --text-muted: #64748b; --text-dim: #94a3b8; --todo: #2563eb; --in-progress: #0284c7; --in-progress-rgb: 2, 132, 199; --in-review: #16a34a; --triage: #d97706; --done: #94a3b8; --color-success: #16a34a; --color-warning: #d97706; --color-error: #dc2626; --color-muted: #64748b; --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent); --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent); --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent); --shadow-glow: none; --glow-success: none; --glow-warning: none; --glow-danger: none; --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent); --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent); --shadow: var(--shadow-lg); --cta-bg: #475569; --cta-border: #475569; --cta-text: #ffffff; --cta-bg-hover: #334155; --cta-border-hover: #334155; --cta-glow: none; --logo-accent: var(--accent); --color-info: #475569; --accent: #475569; --accent-text: #ffffff; } [data-color-theme="shadcn-blue"] .card.agent-active, [data-color-theme="shadcn-green"] .card.agent-active, [data-color-theme="shadcn-red"] .card.agent-active, [data-color-theme="shadcn-purple"] .card.agent-active, [data-color-theme="shadcn-pink"] .card.agent-active, [data-color-theme="shadcn-orange"] .card.agent-active, [data-color-theme="shadcn-yellow"] .card.agent-active, [data-color-theme="shadcn-mono-red"] .card.agent-active, [data-color-theme="shadcn-mono-blue"] .card.agent-active, [data-color-theme="shadcn-mono-green"] .card.agent-active, [data-color-theme="shadcn-mono-purple"] .card.agent-active, [data-color-theme="shadcn-mono-pink"] .card.agent-active, [data-color-theme="shadcn-mono-orange"] .card.agent-active, [data-color-theme="shadcn-mono-yellow"] .card.agent-active, [data-color-theme="shadcn-black"] .card.agent-active, [data-color-theme="shadcn-gray"] .card.agent-active, [data-color-theme="shadcn-gray-blue"] .card.agent-active { border-color: var(--accent); box-shadow: none; animation: none; } [data-color-theme="shadcn-blue"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-green"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-red"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-purple"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-pink"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-orange"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-yellow"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-mono-red"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-mono-blue"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-mono-green"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-mono-purple"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-mono-pink"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-mono-orange"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-mono-yellow"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-black"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-gray"][data-theme="light"] .card.agent-active, [data-color-theme="shadcn-gray-blue"][data-theme="light"] .card.agent-active { border-color: var(--accent); box-shadow: none; animation: none; } [data-color-theme="shadcn-blue"] .btn, [data-color-theme="shadcn-green"] .btn, [data-color-theme="shadcn-red"] .btn, [data-color-theme="shadcn-purple"] .btn, [data-color-theme="shadcn-pink"] .btn, [data-color-theme="shadcn-orange"] .btn, [data-color-theme="shadcn-yellow"] .btn, [data-color-theme="shadcn-mono-red"] .btn, [data-color-theme="shadcn-mono-blue"] .btn, [data-color-theme="shadcn-mono-green"] .btn, [data-color-theme="shadcn-mono-purple"] .btn, [data-color-theme="shadcn-mono-pink"] .btn, [data-color-theme="shadcn-mono-orange"] .btn, [data-color-theme="shadcn-mono-yellow"] .btn, [data-color-theme="shadcn-black"] .btn, [data-color-theme="shadcn-gray"] .btn, [data-color-theme="shadcn-gray-blue"] .btn { text-transform: none; letter-spacing: normal; font-weight: 500; } [data-color-theme="shadcn-blue"] .btn-primary, [data-color-theme="shadcn-blue"] .btn-task-create, [data-color-theme="shadcn-green"] .btn-primary, [data-color-theme="shadcn-green"] .btn-task-create, [data-color-theme="shadcn-red"] .btn-primary, [data-color-theme="shadcn-red"] .btn-task-create, [data-color-theme="shadcn-purple"] .btn-primary, [data-color-theme="shadcn-purple"] .btn-task-create, [data-color-theme="shadcn-pink"] .btn-primary, [data-color-theme="shadcn-pink"] .btn-task-create, [data-color-theme="shadcn-orange"] .btn-primary, [data-color-theme="shadcn-orange"] .btn-task-create, [data-color-theme="shadcn-yellow"] .btn-primary, [data-color-theme="shadcn-yellow"] .btn-task-create, [data-color-theme="shadcn-mono-red"] .btn-primary, [data-color-theme="shadcn-mono-red"] .btn-task-create, [data-color-theme="shadcn-mono-blue"] .btn-primary, [data-color-theme="shadcn-mono-blue"] .btn-task-create, [data-color-theme="shadcn-mono-green"] .btn-primary, [data-color-theme="shadcn-mono-green"] .btn-task-create, [data-color-theme="shadcn-mono-purple"] .btn-primary, [data-color-theme="shadcn-mono-purple"] .btn-task-create, [data-color-theme="shadcn-mono-pink"] .btn-primary, [data-color-theme="shadcn-mono-pink"] .btn-task-create, [data-color-theme="shadcn-mono-orange"] .btn-primary, [data-color-theme="shadcn-mono-orange"] .btn-task-create, [data-color-theme="shadcn-mono-yellow"] .btn-primary, [data-color-theme="shadcn-mono-yellow"] .btn-task-create, [data-color-theme="shadcn-black"] .btn-primary, [data-color-theme="shadcn-black"] .btn-task-create, [data-color-theme="shadcn-gray"] .btn-primary, [data-color-theme="shadcn-gray"] .btn-task-create, [data-color-theme="shadcn-gray-blue"] .btn-primary, [data-color-theme="shadcn-gray-blue"] .btn-task-create { background: var(--cta-bg); border-color: var(--cta-border); color: var(--cta-text); box-shadow: none; } [data-color-theme="shadcn-blue"] .btn-primary:hover, [data-color-theme="shadcn-blue"] .btn-task-create:hover, [data-color-theme="shadcn-green"] .btn-primary:hover, [data-color-theme="shadcn-green"] .btn-task-create:hover, [data-color-theme="shadcn-red"] .btn-primary:hover, [data-color-theme="shadcn-red"] .btn-task-create:hover, [data-color-theme="shadcn-purple"] .btn-primary:hover, [data-color-theme="shadcn-purple"] .btn-task-create:hover, [data-color-theme="shadcn-pink"] .btn-primary:hover, [data-color-theme="shadcn-pink"] .btn-task-create:hover, [data-color-theme="shadcn-orange"] .btn-primary:hover, [data-color-theme="shadcn-orange"] .btn-task-create:hover, [data-color-theme="shadcn-yellow"] .btn-primary:hover, [data-color-theme="shadcn-yellow"] .btn-task-create:hover, [data-color-theme="shadcn-mono-red"] .btn-primary:hover, [data-color-theme="shadcn-mono-red"] .btn-task-create:hover, [data-color-theme="shadcn-mono-blue"] .btn-primary:hover, [data-color-theme="shadcn-mono-blue"] .btn-task-create:hover, [data-color-theme="shadcn-mono-green"] .btn-primary:hover, [data-color-theme="shadcn-mono-green"] .btn-task-create:hover, [data-color-theme="shadcn-mono-purple"] .btn-primary:hover, [data-color-theme="shadcn-mono-purple"] .btn-task-create:hover, [data-color-theme="shadcn-mono-pink"] .btn-primary:hover, [data-color-theme="shadcn-mono-pink"] .btn-task-create:hover, [data-color-theme="shadcn-mono-orange"] .btn-primary:hover, [data-color-theme="shadcn-mono-orange"] .btn-task-create:hover, [data-color-theme="shadcn-mono-yellow"] .btn-primary:hover, [data-color-theme="shadcn-mono-yellow"] .btn-task-create:hover, [data-color-theme="shadcn-black"] .btn-primary:hover, [data-color-theme="shadcn-black"] .btn-task-create:hover, [data-color-theme="shadcn-gray"] .btn-primary:hover, [data-color-theme="shadcn-gray"] .btn-task-create:hover, [data-color-theme="shadcn-gray-blue"] .btn-primary:hover, [data-color-theme="shadcn-gray-blue"] .btn-task-create:hover { background: var(--cta-bg-hover); border-color: var(--cta-border-hover); color: var(--cta-text); box-shadow: none; } [data-color-theme="shadcn-blue"] .card, [data-color-theme="shadcn-blue"] .column, [data-color-theme="shadcn-green"] .card, [data-color-theme="shadcn-green"] .column, [data-color-theme="shadcn-red"] .card, [data-color-theme="shadcn-red"] .column, [data-color-theme="shadcn-purple"] .card, [data-color-theme="shadcn-purple"] .column, [data-color-theme="shadcn-pink"] .card, [data-color-theme="shadcn-pink"] .column, [data-color-theme="shadcn-orange"] .card, [data-color-theme="shadcn-orange"] .column, [data-color-theme="shadcn-yellow"] .card, [data-color-theme="shadcn-yellow"] .column, [data-color-theme="shadcn-mono-red"] .card, [data-color-theme="shadcn-mono-red"] .column, [data-color-theme="shadcn-mono-blue"] .card, [data-color-theme="shadcn-mono-blue"] .column, [data-color-theme="shadcn-mono-green"] .card, [data-color-theme="shadcn-mono-green"] .column, [data-color-theme="shadcn-mono-purple"] .card, [data-color-theme="shadcn-mono-purple"] .column, [data-color-theme="shadcn-mono-pink"] .card, [data-color-theme="shadcn-mono-pink"] .column, [data-color-theme="shadcn-mono-orange"] .card, [data-color-theme="shadcn-mono-orange"] .column, [data-color-theme="shadcn-mono-yellow"] .card, [data-color-theme="shadcn-mono-yellow"] .column, [data-color-theme="shadcn-black"] .card, [data-color-theme="shadcn-black"] .column, [data-color-theme="shadcn-gray"] .card, [data-color-theme="shadcn-gray"] .column, [data-color-theme="shadcn-gray-blue"] .card, [data-color-theme="shadcn-gray-blue"] .column { border-width: var(--btn-border-width); } /* AYU - Popular code editor theme with dark and light variants */ [data-color-theme="ayu"] { --bg: #0f1419; --surface: #131d27; --card: #1a2634; --card-hover: #232d3b; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #304357; --text: #bfbdb6; --text-muted: #565b66; --text-dim: #4d5666; --todo: #39bae6; --in-progress: #ffb454; --in-progress-rgb: 255, 180, 84; --in-review: #7ee787; --triage: #f2966b; --done: #6c7986; --color-success: #7ee787; --color-error: #f07178; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #5cb85c; --cta-border: #7ee787; --cta-text: #0f1419; --cta-bg-hover: #7ee787; --cta-border-hover: #9af09a; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #39bae6; --accent: #5cb85c; --accent-text: #0f1419; } [data-color-theme="ayu"][data-theme="light"] { --bg: #fafafa; --surface: #f3f3f3; --card: #ffffff; --card-hover: #f0f0f0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e0e0e0; --text: #5c6166; --text-muted: #8a9199; --text-dim: #a0a0a0; --todo: #007acc; --in-progress: #ff8f40; --in-progress-rgb: 255, 143, 64; --in-review: #86b300; --triage: #fa8d3e; --done: #8a9199; --color-success: #86b300; --color-error: #f07178; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 15%, transparent); --shadow: var(--shadow-lg); --cta-bg: #6d9a00; --cta-border: #86b300; --cta-text: #fff; --cta-bg-hover: #86b300; --cta-border-hover: #9cc800; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #007acc; --accent: #3a8a3a; --accent-text: #fff; } /* ONE DARK - Atom's iconic dark theme */ [data-color-theme="one-dark"] { --bg: #282c34; --surface: #21252b; --card: #2c313a; --card-hover: #353b45; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3e4451; --text: #abb2bf; --text-muted: #636d83; --text-dim: #5c6370; --todo: #61afef; --in-progress: #00e5ff; --in-progress-rgb: 0, 229, 255; --in-review: #98c379; --triage: #e5c07b; --done: #828997; --color-success: #98c379; --color-error: #e06c75; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #7ec77a; --cta-border: #98c379; --cta-text: #282c34; --cta-bg-hover: #98c379; --cta-border-hover: #b5d4a8; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #61afef; --accent: #7ec77a; --accent-text: #282c34; } /* ONE DARK - Light variant */ [data-color-theme="one-dark"][data-theme="light"] { --bg: #fafafa; --surface: #f0f0f0; --card: #ffffff; --card-hover: #f5f5f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d4d4d4; --text: #383a42; --text-muted: #636d83; --text-dim: #9da5b4; --todo: #4078f2; --in-progress: #0184bc; --in-progress-rgb: 1, 132, 188; --in-review: #50a14f; --triage: #c18401; --done: #9da5b4; --color-success: #50a14f; --color-error: #e45649; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3d8c3b; --cta-border: #50a14f; --cta-text: #fff; --cta-bg-hover: #50a14f; --cta-border-hover: #66b865; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #4078f2; --accent: #4a9e46; --accent-text: #ffffff; } /* NORD - Arctic blue palette inspired by the Nord color scheme */ [data-color-theme="nord"] { --bg: #2e3440; --surface: #3b4252; --card: #434c5e; --card-hover: #4c566a; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4c566a; --text: #eceff4; --text-muted: #d8dee9; --text-dim: #81a1c1; --todo: #88c0d0; --in-progress: #81a1c1; --in-progress-rgb: 129, 161, 193; --in-review: #a3be8c; --triage: #ebcb8b; --done: #7b88a1; --color-success: #a3be8c; --color-error: #bf616a; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 40%, transparent); --shadow: var(--shadow-lg); --cta-bg: #8fa879; --cta-border: #a3be8c; --cta-text: #2e3440; --cta-bg-hover: #a3be8c; --cta-border-hover: #b8cfab; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #81a1c1; --accent: #88c0d0; --accent-text: #2e3440; } [data-color-theme="nord"][data-theme="light"] { --bg: #eceff4; --surface: #e5e9f0; --card: #d8dee9; --card-hover: #cdd3e0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #b0b8c9; --text: #2e3440; --text-muted: #4c566a; --text-dim: #7b88a1; --todo: #5e81ac; --in-progress: #5e81ac; --in-progress-rgb: 94, 129, 172; --in-review: #7ca373; --triage: #c98530; --done: #4c566a; --color-success: #7ca373; --color-error: #b54a52; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #6a8f63; --cta-border: #7ca373; --cta-text: #fff; --cta-bg-hover: #7ca373; --cta-border-hover: #8fb588; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #5e81ac; --accent: #5e81ac; --accent-text: #fff; } /* DRACULA - Popular dark theme with deep purples and vivid accents */ [data-color-theme="dracula"] { --bg: #282a36; --surface: #21222c; --card: #2c2e3a; --card-hover: #363848; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #44475a; --text: #f8f8f2; --text-muted: #bd93f9; --text-dim: #6272a4; --todo: #8be9fd; --in-progress: #00e5ff; --in-progress-rgb: 0, 229, 255; --in-review: #50fa7b; --triage: #f1fa8c; --done: #6272a4; --color-success: #50fa7b; --color-error: #ff5555; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #40d870; --cta-border: #50fa7b; --cta-text: #282a36; --cta-bg-hover: #50fa7b; --cta-border-hover: #70ff95; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #8be9fd; --accent: #bd93f9; --accent-text: #282a36; } [data-color-theme="dracula"][data-theme="light"] { --bg: #f8f8f2; --surface: #efeefa; --card: #e8e8f4; --card-hover: #dddde8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #b0b0c0; --text: #282a36; --text-muted: #5a5a72; --text-dim: #8888a0; --todo: #0097a7; --in-progress: #00bcd4; --in-progress-rgb: 0, 188, 212; --in-review: #2e8b57; --triage: #c98600; --done: #5a5a72; --color-success: #2e8b57; --color-error: #cc3333; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #267a4d; --cta-border: #2e8b57; --cta-text: #fff; --cta-bg-hover: #2e8b57; --cta-border-hover: #3aa870; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #00838f; --accent: #8662c7; --accent-text: #fff; } /* GRUVBOX - Warm, retro earth-tone palette */ [data-color-theme="gruvbox"] { --bg: #282828; --surface: #1d2021; --card: #32302f; --card-hover: #3c3836; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #504945; --text: #ebdbb2; --text-muted: #bdae93; --text-dim: #665c54; --todo: #83a598; --in-progress: #d3869b; --in-progress-rgb: 211, 134, 155; --in-review: #b8bb26; --triage: #fabd2f; --done: #928374; --color-success: #b8bb26; --color-error: #fb4934; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #a0a325; --cta-border: #b8bb26; --cta-text: #282828; --cta-bg-hover: #b8bb26; --cta-border-hover: #d0d340; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #83a598; --accent: #d4a017; --accent-text: #282828; } [data-color-theme="gruvbox"][data-theme="light"] { --bg: #fbf1c7; --surface: #f2e5bc; --card: #ebdbb2; --card-hover: #e0d0a0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #bdae93; --text: #3c3836; --text-muted: #504945; --text-dim: #7c7066; --todo: #076678; --in-progress: #8f3f71; --in-progress-rgb: 143, 63, 113; --in-review: #427b58; --triage: #b57614; --done: #504945; --color-success: #427b58; --color-error: #9d0006; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3a6a4e; --cta-border: #427b58; --cta-text: #fbf1c7; --cta-bg-hover: #427b58; --cta-border-hover: #528c68; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #076678; --accent: #a08010; --accent-text: #fbf1c7; } /* TOKYO NIGHT - Deep blues and soft purples inspired by the VS Code theme */ [data-color-theme="tokyo-night"] { --bg: #1a1b26; --surface: #16161e; --card: #24283b; --card-hover: #2e324e; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3b4261; --text: #c0caf5; --text-muted: #a9b1d6; --text-dim: #565f89; --todo: #7aa2f7; --in-progress: #00e5ff; --in-progress-rgb: 0, 229, 255; --in-review: #9ece6a; --triage: #e0af68; --done: #565f89; --color-success: #9ece6a; --color-error: #f7768e; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #8ab855; --cta-border: #9ece6a; --cta-text: #1a1b26; --cta-bg-hover: #9ece6a; --cta-border-hover: #b8e080; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #7aa2f7; --accent: #7aa2f7; --accent-text: #1a1b26; } [data-color-theme="tokyo-night"][data-theme="light"] { --bg: #e1e2e7; --surface: #d5d6db; --card: #e1e2e7; --card-hover: #d0d1d8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #b4b5bc; --text: #1a1b26; --text-muted: #414868; --text-dim: #68709a; --todo: #3b5ea5; --in-progress: #00bcd4; --in-progress-rgb: 0, 188, 212; --in-review: #48703e; --triage: #9a6b20; --done: #414868; --color-success: #48703e; --color-error: #c53b53; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3d6035; --cta-border: #48703e; --cta-text: #fff; --cta-bg-hover: #48703e; --cta-border-hover: #5a8550; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #3b5ea5; --accent: #5b7ec7; --accent-text: #fff; } /* CATPPUCCIN MOCHA - Popular pastel dark theme */ [data-color-theme="catppuccin-mocha"] { --bg: #1e1e2e; --surface: #181825; --card: #1e1e2e; --card-hover: #262637; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #313244; --text: #cdd6f4; --text-muted: #a6adc8; --text-dim: #6c7086; --todo: #89b4fa; --in-progress: #89dceb; --in-progress-rgb: 137, 220, 235; --in-review: #a6e3a1; --triage: #f9e2af; --done: #6c7086; --color-success: #a6e3a1; --color-error: #f38ba8; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #8ad985; --cta-border: #a6e3a1; --cta-text: #1e1e2e; --cta-bg-hover: #a6e3a1; --cta-border-hover: #b8edb4; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #89b4fa; --accent: #cba6f7; --accent-text: #1e1e2e; } [data-color-theme="catppuccin-mocha"][data-theme="light"] { --bg: #eff1f5; --surface: #e6e9ef; --card: #eff1f5; --card-hover: #dce0e8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #bcc0cc; --text: #4c4f69; --text-muted: #5c5f77; --text-dim: #7c7f93; --todo: #1e66f5; --in-progress: #04a5e5; --in-progress-rgb: 4, 165, 229; --in-review: #40a02b; --triage: #df8e1d; --done: #7c7f93; --color-success: #40a02b; --color-error: #d20f39; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #36891f; --cta-border: #40a02b; --cta-text: #fff; --cta-bg-hover: #40a02b; --cta-border-hover: #52b93d; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #1e66f5; --accent: #9a6fd9; --accent-text: #fff; } /* GITHUB DARK - GitHub's dark theme */ [data-color-theme="github-dark"] { --bg: #0d1117; --surface: #010409; --card: #0d1117; --card-hover: #161b22; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #30363d; --text: #e6edf3; --text-muted: #8b949e; --text-dim: #484f58; --todo: #58a6ff; --in-progress: #79c0ff; --in-progress-rgb: 121, 192, 255; --in-review: #3fb950; --triage: #d29922; --done: #484f58; --color-success: #3fb950; --color-error: #f85149; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #2ea043; --cta-border: #3fb950; --cta-text: #fff; --cta-bg-hover: #3fb950; --cta-border-hover: #56d364; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #58a6ff; --accent: #58a6ff; --accent-text: #fff; } [data-color-theme="github-dark"][data-theme="light"] { --bg: #ffffff; --surface: #f6f8fa; --card: #ffffff; --card-hover: #f3f4f6; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d0d7de; --text: #1f2328; --text-muted: #656d76; --text-dim: #8c959f; --todo: #0969da; --in-progress: #0969da; --in-progress-rgb: 9, 105, 218; --in-review: #1a7f37; --triage: #9a6700; --done: #656d76; --color-success: #1a7f37; --color-error: #cf222e; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #1a7f37; --cta-border: #1a7f37; --cta-text: #fff; --cta-bg-hover: #1a7f37; --cta-border-hover: #2da44e; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #0969da; --accent: #0969da; --accent-text: #fff; } /* EVERFOREST - Green-focused dark theme */ [data-color-theme="everforest"] { --bg: #2d353b; --surface: #272e33; --card: #2d353b; --card-hover: #343f44; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #414b50; --text: #d3c6aa; --text-muted: #a7c080; --text-dim: #859289; --todo: #7fbbb3; --in-progress: #e0c8a8; --in-progress-rgb: 224, 200, 168; --in-review: #a7c080; --triage: #dbbc7f; --done: #859289; --color-success: #a7c080; --color-error: #e67e80; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #8aad75; --cta-border: #a7c080; --cta-text: #2d353b; --cta-bg-hover: #a7c080; --cta-border-hover: #bcd09a; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #7fbbb3; --accent: #a7c080; --accent-text: #2d353b; } [data-color-theme="everforest"][data-theme="light"] { --bg: #fdf6e3; --surface: #f4f0d9; --card: #fdf6e3; --card-hover: #eee8c9; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c9ccae; --text: #5c6a72; --text-muted: #657b69; --text-dim: #8da489; --todo: #3a94a5; --in-progress: #83a08a; --in-progress-rgb: 131, 160, 138; --in-review: #6d9b3a; --triage: #b58905; --done: #8da489; --color-success: #6d9b3a; --color-error: #c44040; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #5a8a2e; --cta-border: #6d9b3a; --cta-text: #fff; --cta-bg-hover: #6d9b3a; --cta-border-hover: #80b34c; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #3a94a5; --accent: #6b8f55; --accent-text: #fff; } /* ROSÉ PINE - Soft purple/pink tones */ [data-color-theme="rose-pine"] { --bg: #191724; --surface: #1f1d2e; --card: #191724; --card-hover: #26233a; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #26233a; --text: #e0def4; --text-muted: #908caa; --text-dim: #6e6a86; --todo: #c4a7e7; --in-progress: #ebbcba; --in-progress-rgb: 235, 188, 186; --in-review: #9ccfd8; --triage: #f6c177; --done: #6e6a86; --color-success: #9ccfd8; --color-error: #eb6f92; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #7dbbc4; --cta-border: #9ccfd8; --cta-text: #191724; --cta-bg-hover: #9ccfd8; --cta-border-hover: #b3dfe6; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #c4a7e7; --accent: #c4a7e7; --accent-text: #191724; } [data-color-theme="rose-pine"][data-theme="light"] { --bg: #faf4ed; --surface: #fffaf3; --card: #faf4ed; --card-hover: #f2e9de; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #dfdad0; --text: #575279; --text-muted: #797593; --text-dim: #9893a5; --todo: #907aa9; --in-progress: #b4637a; --in-progress-rgb: 180, 99, 122; --in-review: #56949f; --triage: #ea9d34; --done: #9893a5; --color-success: #56949f; --color-error: #b4637a; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #428089; --cta-border: #56949f; --cta-text: #fff; --cta-bg-hover: #56949f; --cta-border-hover: #6daab4; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #907aa9; --accent: #907aac; --accent-text: #fff; } /* KANAGAWA - Japanese-inspired wave theme */ [data-color-theme="kanagawa"] { --bg: #1f1f28; --surface: #16161d; --card: #1f1f28; --card-hover: #2a2a37; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #363646; --text: #dcd7ba; --text-muted: #c8c093; --text-dim: #727169; --todo: #7e9cd8; --in-progress: #7e9cd8; --in-progress-rgb: 126, 156, 216; --in-review: #98bb6c; --triage: #e6c384; --done: #727169; --color-success: #98bb6c; --color-error: #c34043; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #7da55a; --cta-border: #98bb6c; --cta-text: #1f1f28; --cta-bg-hover: #98bb6c; --cta-border-hover: #aed085; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #7e9cd8; --accent: #957fb8; --accent-text: #1f1f28; } [data-color-theme="kanagawa"][data-theme="light"] { --bg: #edeadd; --surface: #e1ddd4; --card: #edeadd; --card-hover: #ddd8cc; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c5c1b6; --text: #434350; --text-muted: #5e5e6a; --text-dim: #81818c; --todo: #4e76b5; --in-progress: #4e76b5; --in-progress-rgb: 78, 118, 181; --in-review: #5a8249; --triage: #a57c30; --done: #81818c; --color-success: #5a8249; --color-error: #b03438; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #49703f; --cta-border: #5a8249; --cta-text: #fff; --cta-bg-hover: #5a8249; --cta-border-hover: #6b9a5c; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #4e76b5; --accent: #7560a0; --accent-text: #fff; } /* NIGHT OWL - Blue/cyan with warm yellow accents (Sarah Drasner) */ [data-color-theme="night-owl"] { --bg: #011627; --surface: #01111d; --card: #0a192f; --card-hover: #112240; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #1d3557; --text: #d6deeb; --text-muted: #8da6c2; --text-dim: #5c7a99; --todo: #82aaff; --in-progress: #addb67; --in-progress-rgb: 173, 219, 103; --in-review: #4ec9b0; --triage: #ecc48d; --done: #5c7a99; --color-success: #4ec9b0; --color-error: #ef5350; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 60%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3da890; --cta-border: #4ec9b0; --cta-text: #011627; --cta-bg-hover: #4ec9b0; --cta-border-hover: #70dbc9; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #82aaff; --accent: #82aaff; --accent-text: #011627; } [data-color-theme="night-owl"][data-theme="light"] { --bg: #f6f7f9; --surface: #eef0f4; --card: #ffffff; --card-hover: #f0f2f5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c8cdd5; --text: #2d3549; --text-muted: #5c6a7e; --text-dim: #8a95a5; --todo: #2563eb; --in-progress: #5a9e2f; --in-progress-rgb: 90, 158, 47; --in-review: #2b8a73; --triage: #b07d2e; --done: #8a95a5; --color-success: #2b8a73; --color-error: #c0392b; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #257a68; --cta-border: #2b8a73; --cta-text: #fff; --cta-bg-hover: #2b8a73; --cta-border-hover: #3a9f8a; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #2563eb; --accent: #5a7fd4; --accent-text: #fff; } /* PALENIGHT - Warm purple-free dark blue palette */ [data-color-theme="palenight"] { --bg: #292d3e; --surface: #1e2235; --card: #2c3044; --card-hover: #353a50; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3e445e; --text: #bfc7d5; --text-muted: #8394a5; --text-dim: #676e95; --todo: #82aaff; --in-progress: #ffcb6b; --in-progress-rgb: 255, 203, 107; --in-review: #c3e88d; --triage: #f78c6c; --done: #676e95; --color-success: #c3e88d; --color-error: #ff5370; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #a3c570; --cta-border: #c3e88d; --cta-text: #292d3e; --cta-bg-hover: #c3e88d; --cta-border-hover: #d4f0a5; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #82aaff; --accent: #c792ea; --accent-text: #292d3e; } [data-color-theme="palenight"][data-theme="light"] { --bg: #f5f7fa; --surface: #ebeef5; --card: #ffffff; --card-hover: #f0f2f6; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c5cae0; --text: #2c3044; --text-muted: #5c6370; --text-dim: #8a8fa0; --todo: #3b6fcf; --in-progress: #c49020; --in-progress-rgb: 196, 144, 32; --in-review: #5a9e2f; --triage: #c06030; --done: #8a8fa0; --color-success: #5a9e2f; --color-error: #c0392b; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #4a8c28; --cta-border: #5a9e2f; --cta-text: #fff; --cta-bg-hover: #5a9e2f; --cta-border-hover: #6db23c; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #3b6fcf; --accent: #9a60c0; --accent-text: #fff; } /* MONOKAI PRO - Warm oranges and greens */ [data-color-theme="monokai-pro"] { --bg: #2d2a2e; --surface: #252229; --card: #353036; --card-hover: #3f3a40; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4a434a; --text: #fcfcfa; --text-muted: #939293; --text-dim: #727072; --todo: #78dce8; --in-progress: #ff6188; --in-progress-rgb: 255, 97, 136; --in-review: #a9dc76; --triage: #ffd866; --done: #727072; --color-success: #a9dc76; --color-error: #ff6188; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #88c060; --cta-border: #a9dc76; --cta-text: #2d2a2e; --cta-bg-hover: #a9dc76; --cta-border-hover: #c2ec92; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #78dce8; --accent: #ffd866; --accent-text: #2d2a2e; } [data-color-theme="monokai-pro"][data-theme="light"] { --bg: #faf8f5; --surface: #f0ece5; --card: #ffffff; --card-hover: #f5f2ed; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c9c3b8; --text: #3a3632; --text-muted: #6b6460; --text-dim: #9a9490; --todo: #2d8fa0; --in-progress: #c4405e; --in-progress-rgb: 196, 64, 94; --in-review: #5a9030; --triage: #b8860b; --done: #9a9490; --color-success: #5a9030; --color-error: #c4405e; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #4a7a28; --cta-border: #5a9030; --cta-text: #fff; --cta-bg-hover: #5a9030; --cta-border-hover: #6da63c; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #2d8fa0; --accent: #d4a830; --accent-text: #fff; } /* SLIME - Retro lime green theme */ [data-color-theme="slime"] { --bg: #0a0e09; --surface: #0f150d; --card: #141c12; --card-hover: #1a2418; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2a3a24; --text: #c8e6a0; --text-muted: #8ab860; --text-dim: #5a7a40; --todo: #8aff40; --in-progress: #40e8a0; --in-progress-rgb: 64, 232, 160; --in-review: #a0ff60; --triage: #e0ff40; --done: #5a7a40; --color-success: #a0ff60; --color-error: #ff4040; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 70%, transparent); --shadow: var(--shadow-lg); --cta-bg: #78d840; --cta-border: #a0ff60; --cta-text: #0a0e09; --cta-bg-hover: #a0ff60; --cta-border-hover: #b8ff80; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #60d8a0; --accent: #78d840; --accent-text: #0a0e09; } [data-color-theme="slime"][data-theme="light"] { --bg: #f2f7ea; --surface: #e6efda; --card: #ffffff; --card-hover: #f0f5e6; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #b8ccaa; --text: #2a3a20; --text-muted: #4a6040; --text-dim: #7a8a70; --todo: #3d8f10; --in-progress: #1a8a6a; --in-progress-rgb: 26, 138, 106; --in-review: #4a8a20; --triage: #8a8a10; --done: #7a8a70; --color-success: #4a8a20; --color-error: #b03030; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3a7a18; --cta-border: #4a8a20; --cta-text: #fff; --cta-bg-hover: #4a8a20; --cta-border-hover: #5a9a2c; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #1a7a5a; --accent: #5ab030; --accent-text: #fff; } /* BRUTALIST - Concrete and signage inspired harsh UI */ [data-color-theme="brutalist"] { --bg: #101010; --surface: #171717; --card: #1d1d1d; --card-hover: #232323; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #f5f5f5; --text: #f7f7f7; --text-muted: #b8b8b8; --text-dim: #6f6f6f; --todo: #ff6a00; --in-progress: #ffd100; --in-progress-rgb: 255, 209, 0; --in-review: #8de000; --triage: #ff3d00; --done: #7f7f7f; --color-success: #8de000; --color-error: #ff3d00; --font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; --font-mono: "SF Mono", "Cascadia Code", Menlo, Consolas, monospace; --space-xs: 3px; --space-sm: 6px; --space-md: 9px; --space-lg: 12px; --space-xl: 18px; --space-2xl: 24px; --radius-sm: 0px; --radius-md: 0px; --radius-lg: 0px; --radius-xl: 0px; --radius-pill: 0px; --radius: 0px; --btn-padding: 8px 12px; --btn-border-width: 3px; --card-padding: 9px 11px; --modal-padding: var(--space-lg) var(--space-xl); --header-padding: var(--space-md) var(--space-xl); --column-gap: var(--space-sm); --board-padding: var(--space-lg) var(--space-xl); --shadow-sm: none; --shadow-md: none; --shadow-lg: none; --shadow-glow: none; --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent); --focus-ring-strong: 0 0 0 3px color-mix(in srgb, var(--accent) 44%, transparent); --shadow: none; --transition-instant: 0.04s linear; --transition-fast: 0.08s linear; --transition-normal: 0.12s linear; --transition-slow: 0.16s linear; --cta-bg: #ff6a00; --cta-border: #ffd100; --cta-text: #0f0f0f; --cta-bg-hover: #ff7f23; --cta-border-hover: #ffe266; --cta-glow: none; --logo-accent: var(--todo); --color-info: #ffd100; --accent: #ff6a00; --accent-text: #0f0f0f; } [data-color-theme="brutalist"][data-theme="light"] { --bg: #ece9e4; --surface: #f7f4ef; --card: #ffffff; --card-hover: #f0ece6; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #161616; --text: #121212; --text-muted: #424242; --text-dim: #717171; --todo: #d9480f; --in-progress: #b8860b; --in-progress-rgb: 184, 134, 11; --in-review: #4f8f00; --triage: #b32000; --done: #666666; --color-success: #4f8f00; --color-error: #b32000; --focus-ring: 0 0 0 3px color-mix(in srgb, var(--todo) 22%, transparent); --focus-ring-strong: 0 0 0 3px color-mix(in srgb, var(--todo) 35%, transparent); --cta-bg: #c2410c; --cta-border: #d9480f; --cta-text: #ffffff; --cta-bg-hover: #d9480f; --cta-border-hover: #ea580c; --logo-accent: var(--todo); --color-info: #b8860b; --accent: #c2410c; --accent-text: #ffffff; } [data-color-theme="brutalist"] .btn { text-transform: uppercase; letter-spacing: 0.08em; font-weight: 800; border-width: 3px; } [data-color-theme="brutalist"] .btn-primary, [data-color-theme="brutalist"] .btn-task-create { background: transparent; border-color: var(--todo); color: var(--todo); } [data-color-theme="brutalist"] .btn-primary:hover, [data-color-theme="brutalist"] .btn-task-create:hover { background: var(--todo); color: var(--bg); } [data-color-theme="brutalist"] .card, [data-color-theme="brutalist"] .column { border-width: 3px; border-style: solid; border-radius: 0; box-shadow: none; } [data-color-theme="brutalist"] .column-header h2, [data-color-theme="brutalist"] .theme-section-title, [data-color-theme="brutalist"] .modal-header h3 { font-family: Impact, "Arial Black", "Franklin Gothic Heavy", sans-serif; text-transform: uppercase; letter-spacing: 0.08em; } [data-color-theme="brutalist"] .theme-option-swatch { border-radius: 0; } /* NEON CITY - Cyberpunk neon-on-black */ [data-color-theme="neon-city"] { --bg: #0d0d15; --surface: #121326; --card: #171933; --card-hover: #1d2040; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3d2466; --text: #f2edff; --text-muted: #a89dc9; --text-dim: #6c6490; --todo: #ff2d95; --in-progress: #00f0ff; --in-progress-rgb: 0, 240, 255; --in-review: #78ff4d; --triage: #ffab00; --done: #7f739f; --color-success: #78ff4d; --color-error: #ff568f; --font-primary: "Rajdhani", "Orbitron", "Share Tech Mono", "Segoe UI", sans-serif; --font-mono: "Share Tech Mono", "Fira Code", "JetBrains Mono", monospace; --space-xs: 3px; --space-sm: 7px; --space-md: 10px; --space-lg: 14px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 10px; --radius-md: 16px; --radius-lg: 24px; --radius-xl: 28px; --radius-pill: 999px; --radius: var(--radius-md); --btn-padding: 8px 16px; --btn-border-width: 2px; --card-padding: 10px 12px; --shadow-sm: 0 2px 6px color-mix(in srgb, #000000 35%, transparent); --shadow-md: 0 0 10px color-mix(in srgb, var(--accent) 25%, transparent); --shadow-lg: 0 0 26px color-mix(in srgb, var(--color-info) 20%, transparent); --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 45%, transparent); --glow-success: 0 0 10px color-mix(in srgb, var(--color-success) 45%, transparent); --glow-warning: 0 0 10px color-mix(in srgb, var(--triage) 45%, transparent); --glow-danger: 0 0 10px color-mix(in srgb, var(--color-error) 42%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-info) 20%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 34%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.08s ease; --transition-fast: 0.13s ease; --transition-normal: 0.2s ease; --transition-slow: 0.28s ease; --cta-bg: #ff2d95; --cta-border: #00f0ff; --cta-text: #0d0d15; --cta-bg-hover: #ff4aa4; --cta-border-hover: #7ff7ff; --cta-glow: 0 0 12px color-mix(in srgb, var(--cta-bg) 45%, transparent); --logo-accent: var(--todo); --color-info: #00f0ff; --accent: #ff2d95; --accent-text: #0d0d15; } [data-color-theme="neon-city"][data-theme="light"] { --bg: #f7f5ff; --surface: #f1edff; --card: #ffffff; --card-hover: #f8f3ff; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #cbbee8; --text: #22163c; --text-muted: #6b5f85; --text-dim: #8a82a8; --todo: #cc166e; --in-progress: #008e9b; --in-progress-rgb: 0, 142, 155; --in-review: #3a8a2e; --triage: #b57200; --done: #8a82a8; --color-success: #3a8a2e; --color-error: #b11f5b; --shadow-md: 0 0 10px color-mix(in srgb, var(--todo) 14%, transparent); --shadow-lg: 0 0 22px color-mix(in srgb, var(--color-info) 12%, transparent); --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 24%, transparent); --glow-success: 0 0 10px color-mix(in srgb, var(--color-success) 24%, transparent); --glow-warning: 0 0 10px color-mix(in srgb, var(--triage) 24%, transparent); --glow-danger: 0 0 10px color-mix(in srgb, var(--color-error) 20%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-info) 17%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent); --cta-bg: #b1145f; --cta-border: #008e9b; --cta-text: #ffffff; --cta-bg-hover: #cc166e; --cta-border-hover: #00a8b8; --cta-glow: 0 0 10px color-mix(in srgb, var(--cta-bg) 26%, transparent); --logo-accent: var(--todo); --color-info: #008e9b; --accent: #d63384; --accent-text: #ffffff; } [data-color-theme="neon-city"] .btn { border-width: 2px; font-weight: 700; letter-spacing: 0.04em; } [data-color-theme="neon-city"] .btn-primary, [data-color-theme="neon-city"] .btn-task-create { border-color: color-mix(in srgb, var(--todo) 70%, var(--in-progress) 30%); color: var(--todo); box-shadow: 0 0 10px color-mix(in srgb, #ff2d95 25%, transparent); } [data-color-theme="neon-city"] .btn-primary:hover, [data-color-theme="neon-city"] .btn-task-create:hover { color: var(--text); border-color: var(--in-progress); box-shadow: 0 0 8px color-mix(in srgb, #ff2d95 60%, transparent), 0 0 14px color-mix(in srgb, #00f0ff 45%, transparent); } [data-color-theme="neon-city"] .card, [data-color-theme="neon-city"] .column { border-color: color-mix(in srgb, var(--todo) 40%, var(--border) 60%); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--in-progress) 25%, transparent), var(--shadow-md); } [data-color-theme="neon-city"] .column-header h2 { text-transform: uppercase; letter-spacing: 0.14em; font-family: var(--font-mono); } [data-color-theme="neon-city"] .card.agent-active { border-color: var(--in-progress); animation: neon-agent-pulse 2.2s ease-in-out infinite; } @keyframes neon-agent-pulse { 0%, 100% { box-shadow: 0 0 8px color-mix(in srgb, #ff2d95 35%, transparent), 0 0 16px color-mix(in srgb, #00f0ff 25%, transparent); } 50% { box-shadow: 0 0 14px color-mix(in srgb, #ff2d95 65%, transparent), 0 0 24px color-mix(in srgb, #00f0ff 45%, transparent); } } [data-color-theme="neon-city"][data-theme="light"] .card.agent-active { animation: neon-agent-pulse-light 2.2s ease-in-out infinite; } @keyframes neon-agent-pulse-light { 0%, 100% { box-shadow: 0 0 8px color-mix(in srgb, #b1145f 22%, transparent), 0 0 16px color-mix(in srgb, #008e9b 18%, transparent); } 50% { box-shadow: 0 0 12px color-mix(in srgb, #b1145f 32%, transparent), 0 0 20px color-mix(in srgb, #008e9b 26%, transparent); } } /* PARCHMENT - Warm manuscript aesthetic */ [data-color-theme="parchment"] { --bg: #1b1712; --surface: #252019; --card: #2f281f; --card-hover: #392f24; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #5a4632; --text: #efe0c8; --text-muted: #b89f7e; --text-dim: #8a7258; --todo: #d08a4b; --in-progress: #be6e3c; --in-progress-rgb: 190, 110, 60; --in-review: #8ca65f; --triage: #e4ac54; --done: #8a7258; --color-success: #8ca65f; --color-error: #d36d45; --font-primary: Georgia, "Times New Roman", Times, serif; --font-mono: "Courier New", Courier, monospace; --space-xs: 5px; --space-sm: 10px; --space-md: 14px; --space-lg: 19px; --space-xl: 29px; --space-2xl: 38px; --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-xl: 14px; --radius-pill: 999px; --radius: var(--radius-md); --btn-padding: 9px 18px; --btn-border-width: 1px; --card-padding: 12px 14px; --modal-padding: var(--space-lg) calc(var(--space-xl) + 2px); --header-padding: var(--space-md) var(--space-xl); --shadow-sm: 0 1px 2px color-mix(in srgb, #0a0805 45%, transparent); --shadow-md: 0 4px 12px color-mix(in srgb, #0a0805 35%, transparent); --shadow-lg: 0 12px 28px color-mix(in srgb, #0a0805 40%, transparent); --shadow-glow: 0 0 8px color-mix(in srgb, var(--todo) 25%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-info) 22%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--color-info) 34%, transparent); --shadow: var(--shadow-lg); --cta-bg: #be6e3c; --cta-border: #d08a4b; --cta-text: #f8eedf; --cta-bg-hover: #d08a4b; --cta-border-hover: #dda165; --cta-glow: 0 0 10px color-mix(in srgb, var(--cta-border) 25%, transparent); --logo-accent: var(--todo); --color-info: #d08a4b; --accent: #d08a4b; --accent-text: #f8eedf; } [data-color-theme="parchment"][data-theme="light"] { --bg: #f5f0e8; --surface: #efe7dc; --card: #fffaf2; --card-hover: #f6eee2; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d1bda6; --text: #3a2f23; --text-muted: #6a5844; --text-dim: #9a8774; --todo: #a8562f; --in-progress: #8f4e2a; --in-progress-rgb: 143, 78, 42; --in-review: #5f7d3f; --triage: #b07a2a; --done: #9a8774; --color-success: #5f7d3f; --color-error: #b24f2f; --shadow-sm: 0 1px 2px color-mix(in srgb, #4a3723 12%, transparent); --shadow-md: 0 5px 14px color-mix(in srgb, #4a3723 14%, transparent); --shadow-lg: 0 14px 30px color-mix(in srgb, #4a3723 16%, transparent); --shadow-glow: 0 0 8px color-mix(in srgb, var(--todo) 20%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 15%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent); --cta-bg: #99502d; --cta-border: #a8562f; --cta-text: #fff9f2; --cta-bg-hover: #a8562f; --cta-border-hover: #bf6a3f; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 20%, transparent); --logo-accent: var(--todo); --color-info: #8f4e2a; --accent: #a66b35; --accent-text: #fff9f2; } [data-color-theme="parchment"] .btn { font-family: var(--font-primary); border-color: color-mix(in srgb, var(--todo) 40%, var(--border) 60%); box-shadow: inset 0 -1px 0 color-mix(in srgb, #000000 18%, transparent); } [data-color-theme="parchment"] .btn-primary, [data-color-theme="parchment"] .btn-task-create { background: color-mix(in srgb, var(--todo) 18%, var(--surface) 82%); color: var(--text); } [data-color-theme="parchment"] .card, [data-color-theme="parchment"] .column { border-color: color-mix(in srgb, var(--border) 76%, var(--todo) 24%); background-image: linear-gradient(180deg, color-mix(in srgb, #ffffff 2%, transparent), color-mix(in srgb, #000000 6%, transparent)), linear-gradient(0deg, color-mix(in srgb, #c9a070 8%, transparent), color-mix(in srgb, #c9a070 8%, transparent)); box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 8%, transparent), 0 2px 10px color-mix(in srgb, #1a140e 20%, transparent); } [data-color-theme="parchment"][data-theme="light"] .card, [data-color-theme="parchment"][data-theme="light"] .column { box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 45%, transparent), 0 3px 12px color-mix(in srgb, #795a3a 15%, transparent); } [data-color-theme="parchment"] .column-header h2 { font-style: italic; font-weight: 600; letter-spacing: 0.02em; } /* TERMINAL - Retro CRT monospace */ [data-color-theme="terminal"] { --bg: #0a0a0a; --surface: #0f120d; --card: #121712; --card-hover: #171e16; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2e5c1f; --text: #8dff6f; --text-muted: #61b74b; --text-dim: #3f6c32; --todo: #33ff00; --in-progress: #8fff38; --in-progress-rgb: 143, 255, 56; --in-review: #a8ff5a; --triage: #ffb000; --done: #3f6c32; --color-success: #a8ff5a; --color-error: #ff8a00; --font-primary: "IBM Plex Mono", "Source Code Pro", "Courier New", monospace; --font-mono: "IBM Plex Mono", "Source Code Pro", "Courier New", monospace; --space-xs: 2px; --space-sm: 6px; --space-md: 10px; --space-lg: 14px; --space-xl: 20px; --space-2xl: 28px; --radius-sm: 0px; --radius-md: 2px; --radius-lg: 2px; --radius-xl: 2px; --radius-pill: 2px; --radius: var(--radius-md); --btn-padding: 7px 12px; --btn-border-width: 2px; --card-padding: 9px 10px; --shadow-sm: 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent); --shadow-md: 0 0 10px color-mix(in srgb, var(--accent) 18%, transparent); --shadow-lg: 0 0 22px color-mix(in srgb, var(--accent) 22%, transparent); --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 35%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 26%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 42%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.02s steps(2, end); --transition-fast: 0.06s steps(3, end); --transition-normal: 0.1s steps(4, end); --transition-slow: 0.16s steps(5, end); --cta-bg: #33ff00; --cta-border: #8fff38; --cta-text: #061004; --cta-bg-hover: #6dff2f; --cta-border-hover: #b2ff67; --cta-glow: 0 0 10px color-mix(in srgb, var(--cta-bg) 35%, transparent); --logo-accent: var(--todo); --color-info: #8fff38; --accent: #33ff00; --accent-text: #061004; } [data-color-theme="terminal"][data-theme="light"] { --bg: #e7f5dd; --surface: #deefd2; --card: #f4fbef; --card-hover: #e8f4e0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #6a8e59; --text: #19420f; --text-muted: #2f6a21; --text-dim: #5a7d50; --todo: #2d6b14; --in-progress: #4c8f25; --in-progress-rgb: 76, 143, 37; --in-review: #5e9c2d; --triage: #8f5f00; --done: #5a7d50; --color-success: #5e9c2d; --color-error: #8f5f00; --shadow-sm: 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent); --shadow-md: 0 0 8px color-mix(in srgb, var(--accent) 12%, transparent); --shadow-lg: 0 0 14px color-mix(in srgb, var(--accent) 15%, transparent); --shadow-glow: 0 0 8px color-mix(in srgb, var(--todo) 20%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent); --cta-bg: #2d6b14; --cta-border: #4c8f25; --cta-text: #f4fbef; --cta-bg-hover: #3d7d1c; --cta-border-hover: #5ea82f; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 20%, transparent); --logo-accent: var(--todo); --color-info: #4c8f25; --accent: #2d6b14; --accent-text: #f4fbef; } [data-color-theme="terminal"] .btn, [data-color-theme="terminal"] input, [data-color-theme="terminal"] textarea, [data-color-theme="terminal"] select { font-family: var(--font-mono); } [data-color-theme="terminal"] .btn { text-transform: uppercase; letter-spacing: 0.12em; border-style: solid; border-width: 2px; } [data-color-theme="terminal"] .btn-primary, [data-color-theme="terminal"] .btn-task-create { border-color: var(--todo); color: var(--todo); background: color-mix(in srgb, var(--todo) 8%, transparent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--todo) 55%, transparent); } [data-color-theme="terminal"] .card, [data-color-theme="terminal"] .column { border-style: dashed; border-width: 2px; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--todo) 28%, transparent), var(--shadow-sm); } [data-color-theme="terminal"] .column-header h2 { text-transform: uppercase; letter-spacing: 0.15em; text-shadow: 0 0 6px color-mix(in srgb, var(--todo) 35%, transparent); } :root[data-color-theme="terminal"] body::before, body[data-color-theme="terminal"]::before { content: ""; position: fixed; inset: 0; background: repeating-linear-gradient( to bottom, color-mix(in srgb, #33ff00 8%, transparent) 0px, color-mix(in srgb, #33ff00 8%, transparent) 1px, transparent 1px, transparent 3px ); mix-blend-mode: screen; opacity: 0.16; pointer-events: none; z-index: 2147483647; } :root[data-color-theme="terminal"][data-theme="light"] body::before, body[data-color-theme="terminal"][data-theme="light"]::before { background: repeating-linear-gradient( to bottom, color-mix(in srgb, #11340c 7%, transparent) 0px, color-mix(in srgb, #11340c 7%, transparent) 1px, transparent 1px, transparent 3px ); mix-blend-mode: multiply; opacity: 0.12; } /* GLASS - Frosted translucent surfaces */ [data-color-theme="glass"] { --bg: #13111f; --surface: color-mix(in srgb, #221b34 78%, transparent); --card: color-mix(in srgb, #362c52 55%, transparent); --card-hover: color-mix(in srgb, #423863 65%, transparent); --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: color-mix(in srgb, #ffffff 22%, transparent); --text: #f2effa; --text-muted: #b8b0d2; --text-dim: #827aa1; --todo: #c86bff; --in-progress: #ff7aa8; --in-progress-rgb: 255, 122, 168; --in-review: #89d7b0; --triage: #f2ba5b; --done: #827aa1; --color-success: #89d7b0; --color-error: #ff7a9c; --font-primary: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-mono: "SF Mono", "JetBrains Mono", "Menlo", monospace; --space-xs: 5px; --space-sm: 10px; --space-md: 14px; --space-lg: 20px; --space-xl: 28px; --space-2xl: 38px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 20px; --radius-xl: 26px; --radius-pill: 999px; --radius: var(--radius-md); --btn-padding: 9px 16px; --btn-border-width: 1px; --card-padding: 12px 14px; --modal-padding: var(--space-lg) var(--space-xl); --shadow-sm: 0 8px 16px color-mix(in srgb, #050212 24%, transparent); --shadow-md: 0 14px 30px color-mix(in srgb, #060318 30%, transparent); --shadow-lg: 0 22px 42px color-mix(in srgb, #08041e 35%, transparent); --shadow-glow: 0 0 12px color-mix(in srgb, var(--todo) 26%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.08s ease; --transition-fast: 0.14s ease; --transition-normal: 0.22s ease; --transition-slow: 0.34s ease; --cta-bg: color-mix(in srgb, var(--accent) 32%, transparent); --cta-border: color-mix(in srgb, #ffffff 38%, transparent); --cta-text: #f8f5ff; --cta-bg-hover: color-mix(in srgb, var(--accent) 46%, transparent); --cta-border-hover: color-mix(in srgb, #ffffff 50%, transparent); --cta-glow: 0 0 12px color-mix(in srgb, var(--accent) 24%, transparent); --logo-accent: var(--todo); --color-info: #ff7aa8; --accent: #c86bff; --accent-text: #f8f5ff; } [data-color-theme="glass"][data-theme="light"] { --bg: #eceaf5; --surface: color-mix(in srgb, #ffffff 75%, transparent); --card: color-mix(in srgb, #ffffff 60%, transparent); --card-hover: color-mix(in srgb, #ffffff 75%, transparent); --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: color-mix(in srgb, #725b9c 22%, transparent); --text: #2f2448; --text-muted: #66597f; --text-dim: #948aa8; --todo: #9d40cf; --in-progress: #c74b7a; --in-progress-rgb: 199, 75, 122; --in-review: #3e8f6b; --triage: #b67a1f; --done: #948aa8; --color-success: #3e8f6b; --color-error: #c74b7a; --shadow-sm: 0 8px 16px color-mix(in srgb, #3f2c66 8%, transparent); --shadow-md: 0 14px 30px color-mix(in srgb, #3f2c66 10%, transparent); --shadow-lg: 0 22px 42px color-mix(in srgb, #3f2c66 14%, transparent); --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 20%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent); --cta-bg: color-mix(in srgb, var(--accent) 24%, transparent); --cta-border: color-mix(in srgb, var(--accent) 38%, transparent); --cta-text: #2f2448; --cta-bg-hover: color-mix(in srgb, var(--accent) 34%, transparent); --cta-border-hover: color-mix(in srgb, var(--accent) 48%, transparent); --cta-glow: 0 0 10px color-mix(in srgb, var(--accent) 22%, transparent); --logo-accent: var(--todo); --color-info: #c74b7a; --accent: #9d40cf; --accent-text: #2f2448; } [data-color-theme="glass"] .card, [data-color-theme="glass"] .column { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); background: color-mix(in srgb, #ffffff 8%, transparent); border-color: color-mix(in srgb, #ffffff 24%, transparent); } [data-color-theme="glass"][data-theme="light"] .card, [data-color-theme="glass"][data-theme="light"] .column { background: color-mix(in srgb, #ffffff 60%, transparent); border-color: color-mix(in srgb, #725b9c 24%, transparent); } [data-color-theme="glass"] .btn { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-color: color-mix(in srgb, #ffffff 34%, transparent); background: color-mix(in srgb, #ffffff 10%, transparent); } [data-color-theme="glass"] .btn-primary, [data-color-theme="glass"] .btn-task-create { background: linear-gradient(135deg, color-mix(in srgb, #c86bff 35%, transparent), color-mix(in srgb, #ff7aa8 30%, transparent)); border-color: color-mix(in srgb, #ffffff 42%, transparent); } [data-color-theme="glass"] .btn-primary:hover, [data-color-theme="glass"] .btn-task-create:hover { background: linear-gradient(135deg, color-mix(in srgb, #c86bff 50%, transparent), color-mix(in srgb, #ff7aa8 42%, transparent)); box-shadow: 0 12px 24px color-mix(in srgb, #180e2c 28%, transparent); } [data-color-theme="glass"][data-theme="light"] .btn { background: color-mix(in srgb, #ffffff 52%, transparent); border-color: color-mix(in srgb, #725b9c 28%, transparent); } [data-color-theme="glass"] .modal-overlay { /* FNXC:ModalChrome 2026-06-23-21:36: Even glass-style themes should keep modal overlays non-dimming/non-blurring; modal panels provide depth with shadows and their own translucent surfaces. */ background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; } /* GLASS SILVER - Frosted translucent silver/gray surfaces */ [data-color-theme="glass-silver"] { /* FNXC:DashboardTheming 2026-07-01-00:00: Glass Silver must preserve the same frosted, translucent surface contract as Glass while replacing the purple/pink accents with silver and graphite tones across dark and light modes. */ --bg: #101216; --surface: color-mix(in srgb, #252a32 78%, transparent); --card: color-mix(in srgb, #3a414c 55%, transparent); --card-hover: color-mix(in srgb, #49515d 65%, transparent); --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: color-mix(in srgb, #f5f7fa 22%, transparent); --text: #f3f4f6; --text-muted: #c5cad3; --text-dim: #8f97a3; --todo: #d7dde6; --in-progress: #b9c2cf; --in-progress-rgb: 185, 194, 207; --in-review: #a7b4c2; --triage: #c7b88f; --done: #8f97a3; --color-success: #a7b4c2; --color-error: #ef8f8f; --font-primary: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --font-mono: "SF Mono", "JetBrains Mono", "Menlo", monospace; --space-xs: 5px; --space-sm: 10px; --space-md: 14px; --space-lg: 20px; --space-xl: 28px; --space-2xl: 38px; --radius-sm: 8px; --radius-md: 12px; --radius-lg: 20px; --radius-xl: 26px; --radius-pill: 999px; --radius: var(--radius-md); --btn-padding: 9px 16px; --btn-border-width: 1px; --card-padding: 12px 14px; --modal-padding: var(--space-lg) var(--space-xl); --shadow-sm: 0 8px 16px color-mix(in srgb, #020305 24%, transparent); --shadow-md: 0 14px 30px color-mix(in srgb, #030407 30%, transparent); --shadow-lg: 0 22px 42px color-mix(in srgb, #04060a 35%, transparent); --shadow-glow: 0 0 12px color-mix(in srgb, var(--todo) 22%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent); --shadow: var(--shadow-lg); --transition-instant: 0.08s ease; --transition-fast: 0.14s ease; --transition-normal: 0.22s ease; --transition-slow: 0.34s ease; --cta-bg: color-mix(in srgb, var(--accent) 32%, transparent); --cta-border: color-mix(in srgb, #f5f7fa 38%, transparent); --cta-text: #f7f8fa; --cta-bg-hover: color-mix(in srgb, var(--accent) 46%, transparent); --cta-border-hover: color-mix(in srgb, #f5f7fa 50%, transparent); --cta-glow: 0 0 12px color-mix(in srgb, var(--accent) 24%, transparent); --logo-accent: var(--todo); --color-info: #b9c2cf; --accent: #d7dde6; --accent-text: #111318; } [data-color-theme="glass-silver"][data-theme="light"] { --bg: #eef0f3; --surface: color-mix(in srgb, #ffffff 75%, transparent); --card: color-mix(in srgb, #ffffff 60%, transparent); --card-hover: color-mix(in srgb, #ffffff 75%, transparent); --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: color-mix(in srgb, #5d6673 22%, transparent); --text: #252a31; --text-muted: #58616d; --text-dim: #8a929d; --todo: #5f6875; --in-progress: #747f8c; --in-progress-rgb: 116, 127, 140; --in-review: #667383; --triage: #907d53; --done: #8a929d; --color-success: #667383; --color-error: #b24f4f; --shadow-sm: 0 8px 16px color-mix(in srgb, #1f2933 8%, transparent); --shadow-md: 0 14px 30px color-mix(in srgb, #1f2933 10%, transparent); --shadow-lg: 0 22px 42px color-mix(in srgb, #1f2933 14%, transparent); --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 20%, transparent); --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent); --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent); --cta-bg: color-mix(in srgb, var(--accent) 24%, transparent); --cta-border: color-mix(in srgb, var(--accent) 38%, transparent); --cta-text: #252a31; --cta-bg-hover: color-mix(in srgb, var(--accent) 34%, transparent); --cta-border-hover: color-mix(in srgb, var(--accent) 48%, transparent); --cta-glow: 0 0 10px color-mix(in srgb, var(--accent) 22%, transparent); --logo-accent: var(--todo); --color-info: #747f8c; --accent: #5f6875; --accent-text: #ffffff; } [data-color-theme="glass-silver"] .card, [data-color-theme="glass-silver"] .column { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); background: color-mix(in srgb, #f5f7fa 8%, transparent); border-color: color-mix(in srgb, #f5f7fa 24%, transparent); } [data-color-theme="glass-silver"][data-theme="light"] .card, [data-color-theme="glass-silver"][data-theme="light"] .column { background: color-mix(in srgb, #ffffff 60%, transparent); border-color: color-mix(in srgb, #5d6673 24%, transparent); } [data-color-theme="glass-silver"] .btn { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-color: color-mix(in srgb, #f5f7fa 34%, transparent); background: color-mix(in srgb, #f5f7fa 10%, transparent); } [data-color-theme="glass-silver"] .btn-primary, [data-color-theme="glass-silver"] .btn-task-create { background: linear-gradient(135deg, color-mix(in srgb, #d7dde6 35%, transparent), color-mix(in srgb, #9ca6b4 30%, transparent)); border-color: color-mix(in srgb, #f5f7fa 42%, transparent); } [data-color-theme="glass-silver"] .btn-primary:hover, [data-color-theme="glass-silver"] .btn-task-create:hover { background: linear-gradient(135deg, color-mix(in srgb, #d7dde6 50%, transparent), color-mix(in srgb, #9ca6b4 42%, transparent)); box-shadow: 0 12px 24px color-mix(in srgb, #030407 28%, transparent); } [data-color-theme="glass-silver"][data-theme="light"] .btn { background: color-mix(in srgb, #ffffff 52%, transparent); border-color: color-mix(in srgb, #5d6673 28%, transparent); } [data-color-theme="glass-silver"] .modal-overlay { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; } /* HORIZON - Warm sunset-inspired palette */ [data-color-theme="horizon"] { --bg: #1c1e26; --surface: #16161c; --card: #1c1e26; --card-hover: #252731; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3b3d4f; --text: #faf0ef; --text-muted: #c9cbd1; --text-dim: #8a8ca1; --todo: #e59371; --in-progress: #f08c42; --in-progress-rgb: 240, 140, 66; --in-review: #29d398; --triage: #ee64ac; --done: #7a7d91; --color-success: #29d398; --color-error: #e8646a; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #e8646a; --cta-border: #f08c42; --cta-text: #1c1e26; --cta-bg-hover: #f08c42; --cta-border-hover: #f8c967; --cta-glow: 0 0 8px color-mix(in srgb, #e96370 30%, transparent); --logo-accent: var(--todo); --color-info: #f8c967; --accent: #e59371; --accent-text: #1c1e26; } [data-color-theme="horizon"][data-theme="light"] { --bg: #fdf0ed; --surface: #f9cec0; --card: #fceee7; --card-hover: #f5e2d8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #e8c8b8; --text: #3a2a26; --text-muted: #6a5a52; --text-dim: #9a8a82; --todo: #e8646a; --in-progress: #f08c42; --in-progress-rgb: 240, 140, 66; --in-review: #29a87c; --triage: #e8646a; --done: #8a7d78; --color-success: #29a87c; --color-error: #d84050; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #e8646a; --cta-border: #f08c42; --cta-text: #fff; --cta-bg-hover: #f08c42; --cta-border-hover: #f8c967; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent); --logo-accent: var(--todo); --color-info: #d88030; --accent: #e8646a; --accent-text: #fff; } /* VITEsse - Warm natural tones with teal accents */ [data-color-theme="vitesse"] { --bg: #121817; --surface: #0d1210; --card: #1b2321; --card-hover: #232e2a; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2a3832; --text: #d9d4cc; --text-muted: #8a857a; --text-dim: #5a5850; --todo: #4c9a91; --in-progress: #dca561; --in-progress-rgb: 220, 165, 97; --in-review: #7cb586; --triage: #c0692d; --done: #5a5850; --color-success: #7cb586; --color-error: #cb4b16; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #4c9a91; --cta-border: #7cb586; --cta-text: #0d1210; --cta-bg-hover: #7cb586; --cta-border-hover: #9cd4a6; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent); --logo-accent: var(--todo); --color-info: #dca561; --accent: #4c9a91; --accent-text: #0d1210; } [data-color-theme="vitesse"][data-theme="light"] { --bg: #f8f5f0; --surface: #efe9e0; --card: #faf7f2; --card-hover: #f0ebe2; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d9d0c0; --text: #2a2820; --text-muted: #6a6860; --text-dim: #9a9890; --todo: #3a8578; --in-progress: #c08040; --in-progress-rgb: 192, 128, 64; --in-review: #5a9a68; --triage: #b06028; --done: #8a8880; --color-success: #5a9a68; --color-error: #b04820; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #3a8578; --cta-border: #5a9a68; --cta-text: #fff; --cta-bg-hover: #5a9a68; --cta-border-hover: #7aba88; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #c08040; --accent: #3a8578; --accent-text: #fff; } /* OUTRUN - Retrowave/synthwave aesthetic */ [data-color-theme="outrun"] { --bg: #0a0a14; --surface: #0d0d1a; --card: #14142b; --card-hover: #1e1e3f; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2a2a5a; --text: #f0e8ff; --text-muted: #a090c8; --text-dim: #6a60a0; --todo: #ff2d95; --in-progress: #b537f2; --in-progress-rgb: 181, 55, 242; --in-review: #00e5ff; --triage: #ffab00; --done: #6a60a0; --color-success: #00e5ff; --color-error: #ff2d95; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--accent) 40%, transparent); --shadow: var(--shadow-lg); --cta-bg: #b537f2; --cta-border: #ff2d95; --cta-text: #fff; --cta-bg-hover: #ff2d95; --cta-border-hover: #ff6bbf; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #00e5ff; --accent: #b537f2; --accent-text: #fff; } [data-color-theme="outrun"][data-theme="light"] { --bg: #f0f0f5; --surface: #e8e8ef; --card: #f5f5fa; --card-hover: #ececf0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c8c8d8; --text: #2a2a40; --text-muted: #606080; --text-dim: #9090a8; --todo: #d02080; --in-progress: #9030c8; --in-progress-rgb: 144, 48, 200; --in-review: #00a8b8; --triage: #c08000; --done: #8080a0; --color-success: #00a8b8; --color-error: #d02080; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--accent) 15%, transparent); --shadow: var(--shadow-lg); --cta-bg: #9030c8; --cta-border: #d02080; --cta-text: #fff; --cta-bg-hover: #d02080; --cta-border-hover: #e04090; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #00a8b8; --accent: #9030c8; --accent-text: #fff; } /* SNazzy - Bright playful colors */ [data-color-theme="snazzy"] { --bg: #282a36; --surface: #1e1f29; --card: #343746; --card-hover: #404455; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #44475a; --text: #f8f8f2; --text-muted: #a8a8b8; --text-dim: #707080; --todo: #ff5c57; --in-progress: #5af78e; --in-progress-rgb: 90, 247, 142; --in-review: #f3f99d; --triage: #ff6f91; --done: #707080; --color-success: #5af78e; --color-error: #ff5c57; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #50fa7b; --cta-border: #5af78e; --cta-text: #282a36; --cta-bg-hover: #5af78e; --cta-border-hover: #8afaaa; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #f3f99d; --accent: #ff6f91; --accent-text: #282a36; } [data-color-theme="snazzy"][data-theme="light"] { --bg: #fafafa; --surface: #f0f0f2; --card: #ffffff; --card-hover: #f5f5f8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #dcdce0; --text: #2a2a32; --text-muted: #606070; --text-dim: #909098; --todo: #d04040; --in-progress: #30a050; --in-progress-rgb: 48, 160, 80; --in-review: #a0a030; --triage: #d06070; --done: #808088; --color-success: #30a050; --color-error: #d04040; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #28a048; --cta-border: #30a050; --cta-text: #fff; --cta-bg-hover: #30a050; --cta-border-hover: #50c070; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #a0a030; --accent: #d06070; --accent-text: #fff; } /* PORPLE - Rich purple with gold accents */ [data-color-theme="porple"] { --bg: #292d3e; --surface: #1e2030; --card: #333751; --card-hover: #3e4265; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4a4e6a; --text: #d0d4e8; --text-muted: #9094b0; --text-dim: #7074880; --todo: #c792ea; --in-progress: #82aaff; --in-progress-rgb: 130, 170, 255; --in-review: #c3e88d; --triage: #f78c6c; --done: #707488; --color-success: #c3e88d; --color-error: #f07178; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 40%, transparent); --shadow: var(--shadow-lg); --cta-bg: #9a7ee8; --cta-border: #c792ea; --cta-text: #1e2030; --cta-bg-hover: #c792ea; --cta-border-hover: #d8b0ff; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #ffcb6b; --accent: #c792ea; --accent-text: #1e2030; } [data-color-theme="porple"][data-theme="light"] { --bg: #f5f3f7; --surface: #eae7ef; --card: #ffffff; --card-hover: #f0eef5; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c8c4d0; --text: #2a2840; --text-muted: #606080; --text-dim: #9090a8; --todo: #9060d8; --in-progress: #4080c8; --in-progress-rgb: 64, 128, 200; --in-review: #60a050; --triage: #d07050; --done: #8080a0; --color-success: #60a050; --color-error: #c04050; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #8058c8; --cta-border: #9060d8; --cta-text: #fff; --cta-bg-hover: #9060d8; --cta-border-hover: #a080e8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #d0a030; --accent: #9060d8; --accent-text: #fff; } /* ESPRESSO - Deep coffee browns */ [data-color-theme="espresso"] { --bg: #2c1f1a; --surface: #231813; --card: #3d2b22; --card-hover: #4a352c; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #5a453a; --text: #e8ddd5; --text-muted: #a09080; --text-dim: #706050; --todo: #d4a574; --in-progress: #c17d56; --in-progress-rgb: 193, 125, 86; --in-review: #8f6552; --triage: #d47a6a; --done: #706050; --color-success: #8f6552; --color-error: #d47a6a; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #c17d56; --cta-border: #d4a574; --cta-text: #231813; --cta-bg-hover: #d4a574; --cta-border-hover: #e4b884; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #8f6552; --accent: #d4a574; --accent-text: #231813; } [data-color-theme="espresso"][data-theme="light"] { --bg: #f5ece4; --surface: #ebe1d6; --card: #fff8f0; --card-hover: #f0e8e0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d0c0b0; --text: #2a2018; --text-muted: #6a5a4a; --text-dim: #9a8a78; --todo: #a07050; --in-progress: #906040; --in-progress-rgb: 144, 96, 64; --in-review: #706050; --triage: #b06050; --done: #8a7a68; --color-success: #706050; --color-error: #b06050; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #906040; --cta-border: #a07050; --cta-text: #fff; --cta-bg-hover: #a07050; --cta-border-hover: #b08060; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #806040; --accent: #a07050; --accent-text: #fff; } /* MARS - Red planet inspired */ [data-color-theme="mars"] { --bg: #1a1210; --surface: #140e0c; --card: #2a1e18; --card-hover: #352820; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4a3828; --text: #e8ddd0; --text-muted: #a09080; --text-dim: #706050; --todo: #c1440e; --in-progress: #e77d3d; --in-progress-rgb: 231, 125, 61; --in-review: #d4874d; --triage: #c44030; --done: #706050; --color-success: #d4874d; --color-error: #c44030; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent); --shadow: var(--shadow-lg); --cta-bg: #c1440e; --cta-border: #e77d3d; --cta-text: #fff; --cta-bg-hover: #e77d3d; --cta-border-hover: #f7a060; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent); --logo-accent: var(--todo); --color-info: #d4874d; --accent: #c1440e; --accent-text: #fff; } [data-color-theme="mars"][data-theme="light"] { --bg: #f5ece6; --surface: #ebe0d4; --card: #fff5ee; --card-hover: #f0e8e0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d0c0b0; --text: #2a2018; --text-muted: #6a5a4a; --text-dim: #9a8a78; --todo: #a03010; --in-progress: #c06030; --in-progress-rgb: 192, 96, 48; --in-review: #b07040; --triage: #a03020; --done: #8a7a68; --color-success: #b07040; --color-error: #a03020; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #a03010; --cta-border: #c06030; --cta-text: #fff; --cta-bg-hover: #c06030; --cta-border-hover: #d08050; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent); --logo-accent: var(--todo); --color-info: #b07040; --accent: #a03010; --accent-text: #fff; } /* POIMANDRES - Pastel blue/purple with teal accents */ [data-color-theme="poimandres"] { --bg: #1a1b26; --surface: #14151f; --card: #252736; --card-hover: #303245; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3d3e50; --text: #d4d7e5; --text-muted: #8b8fa8; --text-dim: #5d5f78; --todo: #89ddff; --in-progress: #5de4c7; --in-progress-rgb: 93, 228, 199; --in-review: #b4bcff; --triage: #f0c674; --done: #5d5f78; --color-success: #5de4c7; --color-error: #d0679d; --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 40%, transparent); --shadow: var(--shadow-lg); --cta-bg: #5de4c7; --cta-border: #89ddff; --cta-text: #14151f; --cta-bg-hover: #89ddff; --cta-border-hover: #aae8ff; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #b4bcff; --accent: #89ddff; --accent-text: #14151f; } [data-color-theme="poimandres"][data-theme="light"] { --bg: #f0f0f5; --surface: #e6e6ee; --card: #f5f5fa; --card-hover: #ececf0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c8c8d8; --text: #2a2b40; --text-muted: #606080; --text-dim: #9090a8; --todo: #4090c0; --in-progress: #30a090; --in-progress-rgb: 48, 160, 144; --in-review: #8070c0; --triage: #b08030; --done: #8080a0; --color-success: #30a090; --color-error: #c04080; --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent); --shadow: var(--shadow-lg); --cta-bg: #30a090; --cta-border: #4090c0; --cta-text: #fff; --cta-bg-hover: #4090c0; --cta-border-hover: #60a8d8; --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent); --logo-accent: var(--todo); --color-info: #8070c0; --accent: #4090c0; --accent-text: #fff; } /* RUST - Deep oxidized red-brown with warm rust accents */ [data-color-theme="rust"] { --bg: #0f0b09; --surface: #1a1410; --card: #231b14; --card-hover: #2e241c; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4a3528; --text: #f0e8e0; --text-muted: #a09080; --text-dim: #605040; --todo: #e06830; --in-progress: #e88040; --in-progress-rgb: 232, 128, 64; --in-review: #40b8b0; --triage: #e05030; --done: #a08870; --color-success: #40b8b0; --color-error: #e04030; --cta-bg: #a04020; --cta-border: #c05828; --cta-text: #fff; --cta-bg-hover: #c05828; --cta-border-hover: #d87038; --cta-glow: 0 0 8px color-mix(in srgb, var(--accent) 30%, transparent); --logo-accent: var(--todo); --color-info: #58a8d0; --accent: #c75b2a; --accent-text: #fff; } [data-color-theme="rust"][data-theme="light"] { --bg: #f5efe8; --surface: #ebe3d8; --card: #fdfaf6; --card-hover: #f5efe8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d8d0c0; --text: #1a1510; --text-muted: #685a48; --text-dim: #8a7a66; --todo: #a04020; --in-progress: #b85828; --in-progress-rgb: 184, 88, 40; --in-review: #209090; --triage: #c03820; --done: #887868; --color-success: #209090; --color-error: #c03020; --cta-bg: #803818; --cta-border: #a04820; --cta-text: #fff; --cta-bg-hover: #a04820; --cta-border-hover: #b85a28; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #2878a0; --accent: #a04520; --accent-text: #fff; } /* COPPER - Warm metallic copper tones */ [data-color-theme="copper"] { --bg: #0e0c0a; --surface: #181410; --card: #211c16; --card-hover: #2c251c; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4d3d2e; --text: #f0e8e0; --text-muted: #a09080; --text-dim: #605040; --todo: #e89545; --in-progress: #f0a858; --in-progress-rgb: 240, 168, 88; --in-review: #40c0a8; --triage: #e06838; --done: #a09078; --color-success: #40c0a8; --color-error: #e05830; --cta-bg: #b06830; --cta-border: #c87840; --cta-text: #fff; --cta-bg-hover: #c87840; --cta-border-hover: #d88a50; --cta-glow: 0 0 8px color-mix(in srgb, var(--accent) 30%, transparent); --logo-accent: var(--todo); --color-info: #60a8d8; --accent: #d4854a; --accent-text: #fff; } [data-color-theme="copper"][data-theme="light"] { --bg: #f3ede6; --surface: #e8e0d6; --card: #fdfaf7; --card-hover: #f5efe8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d8d0c0; --text: #1a1512; --text-muted: #665a50; --text-dim: #8a7a68; --todo: #905820; --in-progress: #a87030; --in-progress-rgb: 168, 112, 48; --in-review: #30a090; --triage: #b04820; --done: #887868; --color-success: #30a090; --color-error: #b03020; --cta-bg: #785020; --cta-border: #906828; --cta-text: #fff; --cta-bg-hover: #906828; --cta-border-hover: #a87830; --cta-glow: 0 0 8px color-mix(in srgb, #905420 30%, transparent); --logo-accent: var(--todo); --color-info: #306090; --accent: #b06830; --accent-text: #fff; } /* FOUNDRY - Molten metal with orange-yellow glows */ [data-color-theme="foundry"] { --bg: #0c0806; --surface: #15100c; --card: #1e1610; --card-hover: #28201a; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #40301e; --text: #f0e8e0; --text-muted: #a09080; --text-dim: #605040; --todo: #ffab20; --in-progress: #ffc040; --in-progress-rgb: 255, 192, 64; --in-review: #40c0c0; --triage: #ff6020; --done: #a08060; --color-success: #40c0c0; --color-error: #ff4020; --cta-bg: #c07808; --cta-border: #e08a10; --cta-text: #1a1008; --cta-bg-hover: #e08a10; --cta-border-hover: #f09a18; --cta-glow: 0 0 12px color-mix(in srgb, var(--cta-border-hover) 40%, transparent); --logo-accent: var(--todo); --color-info: #60b0e0; --accent: #f0960a; --accent-text: #1a1008; } [data-color-theme="foundry"][data-theme="light"] { --bg: #f5f0e6; --surface: #ebe4d6; --card: #fdfaf5; --card-hover: #f5f0e8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d0c4b0; --text: #1a1510; --text-muted: #685a48; --text-dim: #8a7a66; --todo: #c07808; --in-progress: #d08a10; --in-progress-rgb: 208, 138, 16; --in-review: #208080; --triage: #a04818; --done: #787068; --color-success: #208080; --color-error: #a03020; --cta-bg: #906008; --cta-border: #b07810; --cta-text: #fff; --cta-bg-hover: #b07810; --cta-border-hover: #c08818; --cta-glow: 0 0 8px color-mix(in srgb, #c07810 30%, transparent); --logo-accent: var(--todo); --color-info: #3070a0; --accent: #c07808; --accent-text: #fff; } /* CARBON - Graphite-like carbon fiber aesthetic */ [data-color-theme="carbon"] { --bg: #0a0b0d; --surface: #111318; --card: #181b22; --card-hover: #222630; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2a3040; --text: #e8ecf0; --text-muted: #8090a0; --text-dim: #505860; --todo: #6a9acf; --in-progress: #7ab0e0; --in-progress-rgb: 122, 176, 224; --in-review: #80c0c0; --triage: #c08080; --done: #687080; --color-success: #80c0c0; --color-error: #c06060; --cta-bg: #406080; --cta-border: #5a7898; --cta-text: #fff; --cta-bg-hover: #5a7898; --cta-border-hover: #6a8aac; --cta-glow: 0 0 8px color-mix(in srgb, #5a7aa0 30%, transparent); --logo-accent: var(--todo); --color-info: #6090c0; --accent: #5a8abf; --accent-text: #fff; } [data-color-theme="carbon"][data-theme="light"] { --bg: #eef0f4; --surface: #e2e6ec; --card: #f5f7fa; --card-hover: #eef2f6; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c0c8d0; --text: #1a2028; --text-muted: #586070; --text-dim: #78808a; --todo: #3a6090; --in-progress: #4878a0; --in-progress-rgb: 72, 120, 160; --in-review: #4090a0; --triage: #a05050; --done: #687080; --color-success: #4090a0; --color-error: #a03030; --cta-bg: #305878; --cta-border: #4070a0; --cta-text: #fff; --cta-bg-hover: #4070a0; --cta-border-hover: #5080b0; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #306090; --accent: #3a6a9f; --accent-text: #fff; } /* SANDSTONE - Warm desert sandstone */ [data-color-theme="sandstone"] { --bg: #1a1712; --surface: #241f18; --card: #2e2820; --card-hover: #38322a; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4a4035; --text: #f0e8dc; --text-muted: #a09080; --text-dim: #706858; --todo: #d4a06a; --in-progress: #e0b080; --in-progress-rgb: 224, 176, 128; --in-review: #c09060; --triage: #b08070; --done: #a09080; --color-success: #80a070; --color-error: #b06060; --cta-bg: #a07840; --cta-border: #c09060; --cta-text: #fff; --cta-bg-hover: #b08850; --cta-border-hover: #d0a070; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #90a8c0; --accent: #c4905a; --accent-text: #fff; } [data-color-theme="sandstone"][data-theme="light"] { --bg: #f5f0e8; --surface: #ebe4d8; --card: #faf6ee; --card-hover: #f0e8e0; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d0c8b8; --text: #2a2418; --text-muted: #605848; --text-dim: #888070; --todo: #a07040; --in-progress: #b08050; --in-progress-rgb: 176, 128, 80; --in-review: #907060; --triage: #c09080; --done: #807060; --color-success: #607840; --color-error: #a04040; --cta-bg: #8a6830; --cta-border: #a08050; --cta-text: #fff; --cta-bg-hover: #9a7840; --cta-border-hover: #b09060; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #5888a8; --accent: #a07040; --accent-text: #fff; } /* LAGOON - Deep tropical lagoon */ [data-color-theme="lagoon"] { --bg: #0a1214; --surface: #101c1f; --card: #162628; --card-hover: #1c3034; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2a4045; --text: #e0f0f0; --text-muted: #80a0a8; --text-dim: #507880; --todo: #50d8c0; --in-progress: #60e8d0; --in-progress-rgb: 96, 232, 208; --in-review: #48c0b0; --triage: #c08080; --done: #70a8a0; --color-success: #50c8b0; --color-error: #b05060; --cta-bg: #308880; --cta-border: #40a8a0; --cta-text: #fff; --cta-bg-hover: #409898; --cta-border-hover: #50b8b0; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #50a8c0; --accent: #40c8b0; --accent-text: #fff; } [data-color-theme="lagoon"][data-theme="light"] { --bg: #eef5f3; --surface: #e0ebe8; --card: #f0f8f5; --card-hover: #e4f0ec; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #b0c8c0; --text: #102420; --text-muted: #486058; --text-dim: #688078; --todo: #208070; --in-progress: #289080; --in-progress-rgb: 40, 144, 128; --in-review: #308078; --triage: #a06060; --done: #587878; --color-success: #308070; --color-error: #983030; --cta-bg: #287060; --cta-border: #389080; --cta-text: #fff; --cta-bg-hover: #308070; --cta-border-hover: #40a090; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #2880a0; --accent: #2a9080; --accent-text: #fff; } /* FROST - Cool icy blue-white */ [data-color-theme="frost"] { --bg: #0c0e14; --surface: #121520; --card: #1a1e2c; --card-hover: #222638; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #2a3048; --text: #e8f0f8; --text-muted: #8098b0; --text-dim: #506878; --todo: #8ac8f8; --in-progress: #9ad8ff; --in-progress-rgb: 154, 216, 255; --in-review: #78b8e8; --triage: #c08080; --done: #6878a0; --color-success: #70b8d0; --color-error: #b06070; --cta-bg: #4070a8; --cta-border: #5888c0; --cta-text: #fff; --cta-bg-hover: #5080b8; --cta-border-hover: #6898d0; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #60a0c8; --accent: #7ab8e8; --accent-text: #fff; } [data-color-theme="frost"][data-theme="light"] { --bg: #f0f4f8; --surface: #e4eaf0; --card: #f8fafc; --card-hover: #ecf2f8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #b0c0d0; --text: #101828; --text-muted: #485868; --text-dim: #687888; --todo: #3078a8; --in-progress: #4088b8; --in-progress-rgb: 64, 136, 184; --in-review: #407898; --triage: #a06060; --done: #586878; --color-success: #3088a0; --color-error: #982830; --cta-bg: #2870a0; --cta-border: #3888b8; --cta-text: #fff; --cta-bg-hover: #3080b0; --cta-border-hover: #4898c8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #2080a8; --accent: #4a90c0; --accent-text: #fff; } /* LAVENDER - Soft purple-lavender tones */ [data-color-theme="lavender"] { --bg: #14101a; --surface: #1c1624; --card: #241e30; --card-hover: #2c2838; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3a3050; --text: #f0e8f8; --text-muted: #a090b8; --text-dim: #706880; --todo: #c8a0e8; --in-progress: #d8b0f0; --in-progress-rgb: 216, 176, 240; --in-review: #b890d8; --triage: #c080a0; --done: #9880a8; --color-success: #a090c0; --color-error: #b06878; --cta-bg: #8060a0; --cta-border: #9878b8; --cta-text: #fff; --cta-bg-hover: #9070b0; --cta-border-hover: #a888c8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #9090c0; --accent: #b890d8; --accent-text: #fff; } [data-color-theme="lavender"][data-theme="light"] { --bg: #f4f0f8; --surface: #e8e2f0; --card: #faf8fc; --card-hover: #f2eef8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #c8c0d8; --text: #18101c; --text-muted: #504858; --text-dim: #706878; --todo: #8060a0; --in-progress: #9070b0; --in-progress-rgb: 144, 112, 176; --in-review: #7870a0; --triage: #a08090; --done: #786878; --color-success: #607898; --color-error: #983048; --cta-bg: #685090; --cta-border: #8068a8; --cta-text: #fff; --cta-bg-hover: #7860a0; --cta-border-hover: #9078b8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #6868a0; --accent: #8060a8; --accent-text: #fff; } /* NEON-BLOOM - Vibrant neon pastels */ [data-color-theme="neon-bloom"] { --bg: #120a18; --surface: #1a1024; --card: #241630; --card-hover: #2c1e3c; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #3a2850; --text: #f8e8f8; --text-muted: #b090b8; --text-dim: #806880; --todo: #f080d0; --in-progress: #ff90e0; --in-progress-rgb: 255, 144, 224; --in-review: #e870c0; --triage: #c0a0a8; --done: #b090c0; --color-success: #c0d0a0; --color-error: #c06878; --cta-bg: #a04898; --cta-border: #c060b8; --cta-text: #fff; --cta-bg-hover: #b058a8; --cta-border-hover: #d070c8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #b090d0; --accent: #e870c0; --accent-text: #fff; } [data-color-theme="neon-bloom"][data-theme="light"] { --bg: #f8f0f8; --surface: #f0e4f0; --card: #fcf8fc; --card-hover: #f8f0f8; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d8d0e0; --text: #18081c; --text-muted: #584868; --text-dim: #786888; --todo: #a03090; --in-progress: #b040a0; --in-progress-rgb: 176, 64, 160; --in-review: #9838a0; --triage: #a08090; --done: #786878; --color-success: #587898; --color-error: #982848; --cta-bg: #8030a0; --cta-border: #9848b8; --cta-text: #fff; --cta-bg-hover: #9040b0; --cta-border-hover: #a858c8; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #7878c0; --accent: #c040a0; --accent-text: #fff; } /* SEPIA - Warm vintage sepia photography aesthetic */ [data-color-theme="sepia"] { --bg: #161210; --surface: #201a16; --card: #2a2420; --card-hover: #342e28; --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%); --border: #4a4038; --text: #f0e8d8; --text-muted: #a09078; --text-dim: #706858; --todo: #d8b878; --in-progress: #e8c888; --in-progress-rgb: 232, 200, 136; --in-review: #c8a868; --triage: #b8a088; --done: #908070; --color-success: #a0b080; --color-error: #b87068; --cta-bg: #907850; --cta-border: #a89068; --cta-text: #fff; --cta-bg-hover: #a08858; --cta-border-hover: #b8a078; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #a8a0b0; --accent: #c8a868; --accent-text: #fff; } [data-color-theme="sepia"][data-theme="light"] { --bg: #f5f0e4; --surface: #ece4d4; --card: #faf8f0; --card-hover: #f4eedc; --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%); --border: #d0c8b8; --text: #201810; --text-muted: #584838; --text-dim: #786858; --todo: #907040; --in-progress: #a08050; --in-progress-rgb: 160, 128, 80; --in-review: #886838; --triage: #a08878; --done: #786858; --color-success: #607038; --color-error: #983020; --cta-bg: #786030; --cta-border: #907840; --cta-text: #fff; --cta-bg-hover: #887038; --cta-border-hover: #a08848; --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent); --logo-accent: var(--todo); --color-info: #888098; --accent: #9a8050; --accent-text: #fff; }