@import "tailwindcss"; @plugin "@tailwindcss/typography"; @custom-variant dark (&:is(.dark *)); @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); } :root { --radius: 0.625rem; --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.205 0 0); --primary-foreground: oklch(0.985 0 0); --secondary: oklch(0.97 0 0); --secondary-foreground: oklch(0.205 0 0); --muted: oklch(0.97 0 0); --muted-foreground: oklch(0.556 0 0); --accent: oklch(0.97 0 0); --accent-foreground: oklch(0.205 0 0); --destructive: oklch(0.577 0.245 27.325); --destructive-foreground: oklch(0.577 0.245 27.325); --border: oklch(0.922 0 0); --input: oklch(0.922 0 0); --ring: oklch(0.708 0 0); --chart-1: oklch(0.646 0.222 41.116); --chart-2: oklch(0.6 0.118 184.704); --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.145 0 0); --sidebar-primary: oklch(0.205 0 0); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.97 0 0); --sidebar-accent-foreground: oklch(0.205 0 0); --sidebar-border: oklch(0.922 0 0); --sidebar-ring: oklch(0.708 0 0); } .dark { --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --card: oklch(0.205 0 0); --card-foreground: oklch(0.985 0 0); --popover: oklch(0.205 0 0); --popover-foreground: oklch(0.985 0 0); --primary: oklch(0.985 0 0); --primary-foreground: oklch(0.205 0 0); --secondary: oklch(0.269 0 0); --secondary-foreground: oklch(0.985 0 0); --muted: oklch(0.269 0 0); --muted-foreground: oklch(0.708 0 0); --accent: oklch(0.269 0 0); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.396 0.141 25.723); --destructive-foreground: oklch(0.637 0.237 25.331); --border: oklch(0.269 0 0); --input: oklch(0.269 0 0); --ring: oklch(0.439 0 0); --chart-1: oklch(0.488 0.243 264.376); --chart-2: oklch(0.696 0.17 162.48); --chart-3: oklch(0.769 0.188 70.08); --chart-4: oklch(0.627 0.265 303.9); --chart-5: oklch(0.645 0.246 16.439); --sidebar: oklch(0.145 0 0); --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.488 0.243 264.376); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.269 0 0); --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(0.269 0 0); --sidebar-ring: oklch(0.439 0 0); } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; } } /* Dark mode scrollbars */ .dark { color-scheme: dark; } .dark *::-webkit-scrollbar { width: 8px; height: 8px; } .dark *::-webkit-scrollbar-track { background: oklch(0.205 0 0); } .dark *::-webkit-scrollbar-thumb { background: oklch(0.4 0 0); border-radius: 4px; } .dark *::-webkit-scrollbar-thumb:hover { background: oklch(0.5 0 0); } /* Expandable dialog transition for max-width changes */ [data-slot="dialog-content"] { transition: max-width 200ms cubic-bezier(0.16, 1, 0.3, 1); } /* Dashboard activity row entry motion */ @keyframes dashboard-activity-enter { 0% { opacity: 0; transform: translateY(-14px) scale(0.985); filter: blur(4px); } 62% { opacity: 1; transform: translateY(2px) scale(1.002); filter: blur(0); } 100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } } @keyframes dashboard-activity-highlight { 0% { box-shadow: inset 2px 0 0 var(--primary); background-color: color-mix(in oklab, var(--accent) 55%, transparent); } 100% { box-shadow: inset 0 0 0 transparent; background-color: transparent; } } .activity-row-enter { animation: dashboard-activity-enter 520ms cubic-bezier(0.16, 1, 0.3, 1), dashboard-activity-highlight 920ms cubic-bezier(0.16, 1, 0.3, 1); } @media (prefers-reduced-motion: reduce) { .activity-row-enter { animation: none; } } /* MDXEditor theme integration */ .paperclip-mdxeditor-scope, .paperclip-mdxeditor { --baseBase: var(--background); --baseBg: transparent; --baseBgSubtle: color-mix(in oklab, var(--accent) 35%, transparent); --baseLine: var(--border); --baseSolid: var(--muted-foreground); --baseSolidHover: var(--foreground); --baseText: var(--muted-foreground); --baseBorderColor: var(--border); --baseBorder: var(--border); --baseBorderHover: var(--ring); --baseTextContrast: var(--foreground); --baseTextContrastMuted: var(--muted-foreground); --baseTextEmphasis: var(--foreground); --basePageBg: var(--background); --baseRadius: var(--radius); --baseLineHeight: 1.5; --accentBorder: color-mix(in oklab, var(--primary) 35%, var(--border)); --accentSolid: var(--primary); --accentSolidHover: var(--primary); --accentLine: color-mix(in oklab, var(--primary) 20%, transparent); --accentBg: var(--accent); --accentBgHover: color-mix(in oklab, var(--accent) 80%, var(--background)); --accentBgActive: color-mix(in oklab, var(--accent) 72%, var(--background)); --accentText: var(--accent-foreground); font-family: inherit; font-size: 0.875rem; line-height: 1.5; color: var(--foreground); } .paperclip-mdxeditor-scope [class*="_iconButton_"], .paperclip-mdxeditor [class*="_iconButton_"] { color: var(--baseText); } .paperclip-mdxeditor-scope [class*="_iconButton_"]:hover, .paperclip-mdxeditor [class*="_iconButton_"]:hover { color: var(--baseTextContrast); } .paperclip-mdxeditor .mdxeditor-root-contenteditable { min-height: 2.5rem; padding: 0.375rem 0.625rem; line-height: 1.5; } .paperclip-mdxeditor--borderless .mdxeditor-root-contenteditable { padding: 0; } .paperclip-mdxeditor--borderless [class*="_contentEditable_"] { padding: 0 !important; } .paperclip-mdxeditor [class*="_placeholder_"] { padding: 0.375rem 0.625rem; font-family: inherit; font-size: 0.875rem; line-height: 1.5; color: var(--muted-foreground); } .paperclip-mdxeditor--borderless [class*="_placeholder_"] { padding: 0; } .paperclip-mdxeditor-content { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; } .paperclip-mdxeditor-content > *:first-child { margin-top: 0; } .paperclip-mdxeditor-content > *:last-child { margin-bottom: 0; } .paperclip-mdxeditor-content p { margin: 0; } .paperclip-mdxeditor-content p + p { margin-top: 0.4rem; } .paperclip-mdxeditor-content ul, .paperclip-mdxeditor-content ol { margin: 0.35rem 0; padding-left: 1.1rem; } .paperclip-mdxeditor-content ul { list-style: disc; } .paperclip-mdxeditor-content ol { list-style: decimal; } .paperclip-mdxeditor-content li { display: list-item; margin: 0.15rem 0; } .paperclip-mdxeditor-content li::marker { color: var(--muted-foreground); } .paperclip-mdxeditor-content h1, .paperclip-mdxeditor-content h2, .paperclip-mdxeditor-content h3 { margin: 0.4rem 0 0.25rem; line-height: 1.3; } .paperclip-mdxeditor-content img { max-height: 18rem; border-radius: calc(var(--radius) - 2px); } .paperclip-mdxeditor-content blockquote { margin: 0.45rem 0; padding-left: 0.7rem; border-left: 2px solid var(--border); color: var(--muted-foreground); } .paperclip-mdxeditor-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 0.84em; } .paperclip-mdxeditor-content pre { margin: 0.5rem 0; padding: 0.45rem 0.55rem; border: 1px solid var(--border); border-radius: calc(var(--radius) - 3px); background: color-mix(in oklab, var(--accent) 50%, transparent); overflow-x: auto; } /* Keep MDXEditor popups above app dialogs when editor is inside a modal. */ .paperclip-mdxeditor-scope [class*="_dialogOverlay_"], .paperclip-mdxeditor [class*="_dialogOverlay_"] { z-index: 80; } .paperclip-mdxeditor-scope [class*="_dialogContent_"], .paperclip-mdxeditor-scope [class*="_largeDialogContent_"], .paperclip-mdxeditor-scope [class*="_popoverContent_"], .paperclip-mdxeditor-scope [class*="_linkDialogPopoverContent_"], .paperclip-mdxeditor-scope [class*="_tableColumnEditorPopoverContent_"], .paperclip-mdxeditor-scope [class*="_toolbarButtonDropdownContainer_"], .paperclip-mdxeditor-scope [class*="_toolbarNodeKindSelectContainer_"], .paperclip-mdxeditor [class*="_dialogContent_"], .paperclip-mdxeditor [class*="_largeDialogContent_"], .paperclip-mdxeditor [class*="_popoverContent_"], .paperclip-mdxeditor [class*="_linkDialogPopoverContent_"], .paperclip-mdxeditor [class*="_tableColumnEditorPopoverContent_"], .paperclip-mdxeditor [class*="_toolbarButtonDropdownContainer_"], .paperclip-mdxeditor [class*="_toolbarNodeKindSelectContainer_"] { z-index: 81 !important; }