@import "tailwindcss"; @import "tw-animate-css"; @import "shadcn/tailwind.css"; @import "@kandev/theme/fonts.css"; @import "dockview-react/dist/styles/dockview.css"; @import "./dockview-theme.css"; @source "../components/**/*.{js,ts,jsx,tsx}"; @source "../../packages/ui/src/**/*.{js,ts,jsx,tsx}"; @custom-variant dark (&:is(.dark *)); @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --font-sans: var(--font-sans); --font-mono: "Monaspace Neon", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; --font-mono-size: 12px; --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-info: var(--info); --color-info-foreground: var(--info-foreground); --color-running: var(--running); --color-running-foreground: var(--running-foreground); --color-pending: var(--pending); --color-pending-foreground: var(--pending-foreground); --color-remote: var(--remote); --color-remote-foreground: var(--remote-foreground); --color-archived: var(--archived); --color-archived-foreground: var(--archived-foreground); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --radius-sm: var(--radius); --radius-md: var(--radius); --radius-lg: var(--radius); --radius-xl: var(--radius); --radius-2xl: var(--radius); --radius-3xl: var(--radius); --radius-4xl: var(--radius); } :root { --app-status-bar-height: 0px; --font-geist-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-sans: "Figtree", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-geist-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --background: oklch(1 0 0); --foreground: oklch(0.145 0 0); --card: oklch(1 0 0); --card-foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); --popover-foreground: oklch(0.145 0 0); --primary: oklch(0.51 0.23 277); --primary-foreground: oklch(0.96 0.02 272); --secondary: oklch(0.967 0.001 286.375); --secondary-foreground: oklch(0.21 0.006 285.885); --muted: oklch(0.97 0 0); --muted-foreground: oklch(0.556 0 0); --accent: oklch(0.68 0.18 276); --accent-foreground: oklch(0.98 0 0); --destructive: oklch(0.58 0.22 27); --destructive-foreground: oklch(0.96 0.02 27); --success: oklch(0.58 0.12 150); --success-foreground: oklch(0.982 0.01 150); --warning: oklch(0.7 0.13 78); --warning-foreground: oklch(0.23 0.035 72); --info: oklch(0.58 0.12 205); --info-foreground: oklch(0.982 0.01 205); --running: var(--primary); --running-foreground: var(--primary-foreground); --pending: oklch(0.556 0 0); --pending-foreground: oklch(0.985 0 0); --remote: oklch(0.57 0.11 185); --remote-foreground: oklch(0.982 0.01 185); --archived: oklch(0.556 0 0); --archived-foreground: oklch(0.985 0 0); --border: oklch(0.922 0 0); --input: oklch(0.922 0 0); --ring: oklch(0.708 0 0); --chart-1: oklch(0.79 0.1 275); --chart-2: oklch(0.68 0.16 277); --chart-3: oklch(0.59 0.2 277); --chart-4: oklch(0.51 0.23 277); --chart-5: oklch(0.46 0.21 277); --radius: 0.375rem; --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.145 0 0); --sidebar-primary: oklch(0.51 0.23 277); --sidebar-primary-foreground: oklch(0.96 0.02 272); --sidebar-accent: oklch(0.97 0 0); --sidebar-accent-foreground: oklch(0.205 0 0); --sidebar-border: oklch(0.922 0 0); --scrollbar-thumb: oklch(0.78 0 0); --scrollbar-thumb-hover: oklch(0.66 0 0); --scrollbar-track: var(--background); --sidebar-ring: var(--ring); --git-addition: 63 185 80; --git-deletion: 244 112 103; } @media (min-width: 640px) { :root { --app-status-bar-height: 1.5rem; } } .dark { --background: #181818; --foreground: #d4d4d4; --card: #1f1f1f; --card-foreground: #d4d4d4; --popover: #222222; --popover-foreground: #d4d4d4; --primary: oklch(0.59 0.2 277); --primary-foreground: oklch(0.96 0.02 272); --secondary: #2a2a2a; --secondary-foreground: #d4d4d4; --muted: #2a2a2a; --muted-foreground: #888888; --accent: oklch(0.62 0.18 276); --accent-foreground: #d4d4d4; --destructive: oklch(0.704 0.191 22.216); --destructive-foreground: #d4d4d4; --success: oklch(0.68 0.12 150); --success-foreground: oklch(0.16 0.025 150); --warning: oklch(0.78 0.12 78); --warning-foreground: oklch(0.19 0.035 72); --info: oklch(0.7 0.11 205); --info-foreground: oklch(0.16 0.025 205); --running: var(--primary); --running-foreground: var(--primary-foreground); --pending: oklch(0.708 0 0); --pending-foreground: oklch(0.145 0 0); --remote: oklch(0.68 0.11 185); --remote-foreground: oklch(0.16 0.025 185); --archived: oklch(0.708 0 0); --archived-foreground: oklch(0.145 0 0); --border: #2a2a2a; --input: #2a2a2a; --ring: #555555; --chart-1: oklch(0.79 0.1 275); --chart-2: oklch(0.68 0.16 277); --chart-3: oklch(0.59 0.2 277); --chart-4: oklch(0.51 0.23 277); --chart-5: oklch(0.46 0.21 277); --sidebar: #171717; --sidebar-foreground: #d4d4d4; --sidebar-primary: oklch(0.68 0.16 277); --sidebar-primary-foreground: oklch(0.96 0.02 272); --sidebar-accent: #2a2a2a; --sidebar-accent-foreground: #d4d4d4; --sidebar-border: #262626; --scrollbar-thumb: rgba(100, 100, 100, 0.5); --scrollbar-thumb-hover: rgba(130, 130, 130, 0.6); --scrollbar-track: var(--background); --sidebar-ring: var(--ring); --git-addition: 63 185 80; --git-deletion: 244 112 103; } @layer base { * { @apply border-border outline-ring/50; scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) transparent; } /* App shell: lock the document to the viewport; each route owns its scroll container. */ html, body { @apply h-full overflow-hidden overscroll-none; } body { @apply bg-background text-foreground; } } @layer components { [data-settings-dirty="true"] { border-color: color-mix(in oklab, var(--success) 65%, var(--border)) !important; } [data-settings-dirty="true"]:not(:focus-visible) { @apply ring-1 ring-success/15; } [data-settings-dirty="true"][data-settings-dirty-level="container"] { @apply ring-0; border-color: color-mix(in oklab, var(--success) 45%, var(--border)) !important; } [data-slot="card"]:has([data-settings-dirty="true"]), [data-settings-dirty="true"][data-settings-dirty-level="card"] { @apply ring-0; border-color: color-mix(in oklab, var(--success) 35%, var(--border)) !important; } [data-workflow-replay-cycle="true"] { @apply ring-1 ring-warning/20; border-color: color-mix(in oklab, var(--warning) 65%, var(--border)) !important; } } /* iOS Safari auto-zooms a focused form control whose computed font-size is < 16px (native