@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: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0px; --radius-xl: 0px; } :root { color-scheme: light; --radius: 0; --background: #eff1f5; --foreground: #4c4f69; --card: #e6e9ef; --card-foreground: #4c4f69; --popover: #e6e9ef; --popover-foreground: #4c4f69; --primary: #1e66f5; --primary-foreground: #eff1f5; --secondary: #ccd0da; --secondary-foreground: #4c4f69; --muted: #ccd0da; --muted-foreground: #9ca0b0; --accent: #bcc0cc; --accent-foreground: #4c4f69; --destructive: #d20f39; --destructive-foreground: #eff1f5; --border: #ccd0da; --input: #ccd0da; --ring: #1e66f5; --chart-1: #1e66f5; --chart-2: #40a02b; --chart-3: #8839ef; --chart-4: #df8e1d; --chart-5: #d20f39; --sidebar: #e6e9ef; --sidebar-foreground: #4c4f69; --sidebar-primary: #1e66f5; --sidebar-primary-foreground: #eff1f5; --sidebar-accent: #ccd0da; --sidebar-accent-foreground: #4c4f69; --sidebar-border: #ccd0da; --sidebar-ring: #1e66f5; } .dark { color-scheme: dark; --background: #1e1e2e; --foreground: #cdd6f4; --card: #181825; --card-foreground: #cdd6f4; --popover: #181825; --popover-foreground: #cdd6f4; --primary: #89b4fa; --primary-foreground: #1e1e2e; --secondary: #313244; --secondary-foreground: #cdd6f4; --muted: #313244; --muted-foreground: #6c7086; --accent: #45475a; --accent-foreground: #cdd6f4; --destructive: #f38ba8; --destructive-foreground: #1e1e2e; --border: #313244; --input: #313244; --ring: #89b4fa; --chart-1: #89b4fa; --chart-2: #a6e3a1; --chart-3: #cba6f7; --chart-4: #f9e2af; --chart-5: #f38ba8; --sidebar: #181825; --sidebar-foreground: #cdd6f4; --sidebar-primary: #89b4fa; --sidebar-primary-foreground: #1e1e2e; --sidebar-accent: #313244; --sidebar-accent-foreground: #cdd6f4; --sidebar-border: #313244; --sidebar-ring: #89b4fa; } .theme-tokyo-night.dark { --background: #1a1b26; --foreground: #c0caf5; --card: #16161e; --card-foreground: #c0caf5; --popover: #16161e; --popover-foreground: #c0caf5; --primary: #7aa2f7; --primary-foreground: #1a1b26; --secondary: #292e42; --secondary-foreground: #c0caf5; --muted: #292e42; --muted-foreground: #565f89; --accent: #3b4261; --accent-foreground: #c0caf5; --destructive: #f7768e; --destructive-foreground: #1a1b26; --border: #292e42; --input: #292e42; --ring: #7aa2f7; --chart-1: #7aa2f7; --chart-2: #9ece6a; --chart-3: #bb9af7; --chart-4: #e0af68; --chart-5: #f7768e; --sidebar: #16161e; --sidebar-foreground: #c0caf5; --sidebar-primary: #7aa2f7; --sidebar-primary-foreground: #1a1b26; --sidebar-accent: #292e42; --sidebar-accent-foreground: #c0caf5; --sidebar-border: #292e42; --sidebar-ring: #7aa2f7; } /* -- highlight.js syntax theme overrides (chat code blocks) ------------- */ /* Base hljs reset -- ensure code blocks use our themed variables */ .hljs { background: var(--code-block-bg, hsl(var(--card))) !important; color: var(--code-block-fg, hsl(var(--card-foreground))) !important; } /* Catppuccin Mocha (default dark) */ .dark .hljs { --code-block-bg: #1e1e2e; --code-block-fg: #cdd6f4; } .dark .hljs-keyword { color: #cba6f7; } .dark .hljs-string { color: #a6e3a1; } .dark .hljs-number { color: #fab387; } .dark .hljs-comment { color: #6c7086; font-style: italic; } .dark .hljs-function { color: #89b4fa; } .dark .hljs-title { color: #89b4fa; } .dark .hljs-built_in { color: #f38ba8; } .dark .hljs-type { color: #f9e2af; } .dark .hljs-attr { color: #89dceb; } .dark .hljs-variable { color: #cdd6f4; } .dark .hljs-literal { color: #fab387; } .dark .hljs-meta { color: #f5e0dc; } .dark .hljs-selector-class { color: #89dceb; } .dark .hljs-selector-tag { color: #cba6f7; } /* Tokyo Night */ .theme-tokyo-night .hljs { --code-block-bg: #1a1b26; --code-block-fg: #a9b1d6; } .theme-tokyo-night .hljs-keyword { color: #bb9af7; } .theme-tokyo-night .hljs-string { color: #9ece6a; } .theme-tokyo-night .hljs-number { color: #ff9e64; } .theme-tokyo-night .hljs-comment { color: #565f89; font-style: italic; } .theme-tokyo-night .hljs-function { color: #7aa2f7; } .theme-tokyo-night .hljs-title { color: #7aa2f7; } .theme-tokyo-night .hljs-built_in { color: #f7768e; } .theme-tokyo-night .hljs-type { color: #e0af68; } .theme-tokyo-night .hljs-attr { color: #73daca; } .theme-tokyo-night .hljs-variable { color: #a9b1d6; } .theme-tokyo-night .hljs-literal { color: #ff9e64; } .theme-tokyo-night .hljs-meta { color: #c0caf5; } .theme-tokyo-night .hljs-selector-class { color: #73daca; } .theme-tokyo-night .hljs-selector-tag { color: #bb9af7; } /* Catppuccin Latte (light) */ :root .hljs { --code-block-bg: #eff1f5; --code-block-fg: #4c4f69; } :root .hljs-keyword { color: #8839ef; } :root .hljs-string { color: #40a02b; } :root .hljs-number { color: #fe640b; } :root .hljs-comment { color: #9ca0b0; font-style: italic; } :root .hljs-function { color: #1e66f5; } :root .hljs-title { color: #1e66f5; } :root .hljs-built_in { color: #d20f39; } :root .hljs-type { color: #df8e1d; } :root .hljs-attr { color: #179299; } :root .hljs-variable { color: #4c4f69; } :root .hljs-literal { color: #fe640b; } :root .hljs-meta { color: #dc8a78; } :root .hljs-selector-class { color: #179299; } :root .hljs-selector-tag { color: #8839ef; } @layer base { * { @apply border-border; } html { height: 100%; -webkit-tap-highlight-color: color-mix(in oklab, var(--foreground) 20%, transparent); } body { @apply bg-background text-foreground antialiased; height: 100%; overflow: hidden; } h1, h2, h3 { text-wrap: balance; } /* Prevent double-tap-to-zoom on interactive elements for mobile */ a, button, [role="button"], input, select, textarea, label { touch-action: manipulation; } /* Let font-mono (utilities layer) override for monospace editors */ .paperclip-mdxeditor [class*="_placeholder_"], .paperclip-mdxeditor-content { font-family: inherit; } } @media (pointer: coarse) { button, [role="button"], input, select, textarea, [data-slot="select-trigger"] { min-height: 44px; } [data-slot="toggle"] { min-height: 0; } } /* Dark mode scrollbars */ .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); } /* Auto-hide scrollbar: always reserves space, thumb visible only on hover */ .scrollbar-auto-hide::-webkit-scrollbar { width: 8px !important; background: transparent !important; } .scrollbar-auto-hide::-webkit-scrollbar-track { background: transparent !important; } .scrollbar-auto-hide::-webkit-scrollbar-thumb { background: transparent !important; } /* Light mode scrollbar on hover */ .scrollbar-auto-hide:hover::-webkit-scrollbar-track { background: oklch(0.92 0 0) !important; } .scrollbar-auto-hide:hover::-webkit-scrollbar-thumb { background: oklch(0.7 0 0) !important; } .scrollbar-auto-hide:hover::-webkit-scrollbar-thumb:hover { background: oklch(0.6 0 0) !important; } /* Dark mode scrollbar on hover */ .dark .scrollbar-auto-hide:hover::-webkit-scrollbar-track { background: oklch(0.205 0 0) !important; } .dark .scrollbar-auto-hide:hover::-webkit-scrollbar-thumb { background: oklch(0.4 0 0) !important; } .dark .scrollbar-auto-hide:hover::-webkit-scrollbar-thumb:hover { background: oklch(0.5 0 0) !important; } /* 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; line-height: 1.5; } .paperclip-mdxeditor [class*="_contentEditable_"] { padding: 0.375rem 0.625rem !important; } .paperclip-mdxeditor--borderless [class*="_contentEditable_"] { padding: 0 !important; } .paperclip-mdxeditor [class*="_placeholder_"] { font-size: 0.875rem; line-height: 1.5; color: var(--muted-foreground); } .paperclip-mdxeditor-content { font-size: inherit; line-height: inherit; color: inherit; } .paperclip-edit-in-place-content { font-size: 0.9375rem; line-height: 1.75rem; } .paperclip-mdxeditor-content > *:first-child { margin-top: 0; } .paperclip-mdxeditor-content > *:last-child { margin-bottom: 0; } .paperclip-mdxeditor-content p { margin: 0; line-height: inherit; } .paperclip-mdxeditor-content p + p { margin-top: 1.1em; } .paperclip-mdxeditor-content a:not(.paperclip-mention-chip):not(.paperclip-project-mention-chip) { color: color-mix(in oklab, var(--foreground) 76%, #0969da 24%); text-decoration: underline; text-underline-offset: 0.15em; cursor: pointer; } .dark .paperclip-mdxeditor-content a:not(.paperclip-mention-chip):not(.paperclip-project-mention-chip) { color: color-mix(in oklab, var(--foreground) 80%, #58a6ff 20%); } .paperclip-mdxeditor-content a.paperclip-mention-chip, .paperclip-mdxeditor-content a.paperclip-project-mention-chip { display: inline-flex; align-items: center; gap: 0.25rem; margin: 0 0.1rem; padding: 0.05rem 0.45rem; border: 1px solid var(--border); border-radius: 999px; font-size: 0.75rem; line-height: 1.3; text-decoration: none; vertical-align: middle; white-space: nowrap; user-select: none; } .paperclip-mdxeditor-content a.paperclip-mention-chip::before, a.paperclip-mention-chip::before { content: ""; flex: none; } .paperclip-mdxeditor-content a.paperclip-mention-chip[data-mention-kind="project"]::before, a.paperclip-mention-chip[data-mention-kind="project"]::before { width: 0.45rem; height: 0.45rem; border-radius: 999px; background-color: var(--paperclip-mention-project-color, currentColor); } .paperclip-mdxeditor-content a.paperclip-mention-chip[data-mention-kind="agent"]::before, a.paperclip-mention-chip[data-mention-kind="agent"]::before { width: 0.75rem; height: 0.75rem; background-color: currentColor; -webkit-mask-image: var(--paperclip-mention-icon-mask); mask-image: var(--paperclip-mention-icon-mask); -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; } .paperclip-mdxeditor-content ul, .paperclip-mdxeditor-content ol { margin: 1.1em 0; padding-left: 1.6em; } .paperclip-mdxeditor-content ul { list-style: disc; } .paperclip-mdxeditor-content ol { list-style: decimal; } .paperclip-mdxeditor-content li { display: list-item; margin: 0.3em 0; line-height: inherit; } .paperclip-mdxeditor-content li::marker { color: var(--muted-foreground); } .paperclip-mdxeditor-content h1 { margin: 1.4em 0 0.9em; font-size: 1.75em; font-weight: 700; line-height: 1.2; } .paperclip-mdxeditor-content h2 { margin: 1.3em 0 0.85em; font-size: 1.35em; font-weight: 700; line-height: 1.3; } .paperclip-mdxeditor-content h3 { margin: 1.2em 0 0.8em; font-size: 1.15em; font-weight: 600; line-height: 1.35; } .paperclip-mdxeditor-content img { max-height: 18rem; border-radius: calc(var(--radius) - 2px); } .paperclip-mdxeditor-content blockquote { margin: 1.2em 0; padding-left: 1em; border-left: 3px solid var(--border); color: var(--muted-foreground); line-height: inherit; } .paperclip-mdxeditor-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 1em; } .paperclip-mdxeditor-content pre { margin: 0.4rem 0; padding: 0; border: 1px solid color-mix(in oklab, var(--foreground) 12%, transparent); border-radius: calc(var(--radius) - 3px); background: #1e1e2e; color: #cdd6f4; overflow-x: auto; } /* Dark theme for CodeMirror code blocks inside the MDXEditor. Overrides the default cm6-theme-basic-light that MDXEditor bundles. */ .paperclip-mdxeditor .cm-editor { background-color: #1e1e2e !important; color: #cdd6f4 !important; font-size: 1em; } .paperclip-mdxeditor .cm-gutters { background-color: #181825 !important; color: #585b70 !important; border-right: 1px solid #313244 !important; } .paperclip-mdxeditor .cm-activeLineGutter { background-color: #1e1e2e !important; } .paperclip-mdxeditor .cm-activeLine { background-color: color-mix(in oklab, #cdd6f4 5%, transparent) !important; } .paperclip-mdxeditor .cm-cursor, .paperclip-mdxeditor .cm-dropCursor { border-left-color: #cdd6f4 !important; } .paperclip-mdxeditor .cm-selectionBackground { background-color: color-mix(in oklab, #89b4fa 25%, transparent) !important; } .paperclip-mdxeditor .cm-focused .cm-selectionBackground { background-color: color-mix(in oklab, #89b4fa 30%, transparent) !important; } .paperclip-mdxeditor .cm-content { caret-color: #cdd6f4; } /* MDXEditor code block language selector – show on hover only */ .paperclip-mdxeditor-content [class*="_codeMirrorWrapper_"] { position: relative; } .paperclip-mdxeditor-content [class*="_codeMirrorToolbar_"], .paperclip-mdxeditor-content [class*="_codeBlockToolbar_"] { position: absolute; top: 0.25rem; right: 0.25rem; z-index: 2; opacity: 0; transition: opacity 150ms ease; } .paperclip-mdxeditor-content [class*="_codeMirrorToolbar_"] select, .paperclip-mdxeditor-content [class*="_codeBlockToolbar_"] select { background-color: #313244; color: #cdd6f4; border-color: #45475a; } .paperclip-mdxeditor-content [class*="_codeMirrorWrapper_"]:hover [class*="_codeMirrorToolbar_"], .paperclip-mdxeditor-content [class*="_codeMirrorWrapper_"]:hover [class*="_codeBlockToolbar_"], .paperclip-mdxeditor-content [class*="_codeMirrorWrapper_"]:focus-within [class*="_codeMirrorToolbar_"], .paperclip-mdxeditor-content [class*="_codeMirrorWrapper_"]:focus-within [class*="_codeBlockToolbar_"] { opacity: 1; } /* Rendered markdown code blocks & inline code (prose/MarkdownBody context). Dark theme code blocks with compact sizing. Override prose CSS variables so prose-invert can't revert to defaults. */ .paperclip-markdown { --tw-prose-pre-bg: #1e1e2e; --tw-prose-pre-code: #cdd6f4; --tw-prose-invert-pre-bg: #1e1e2e; --tw-prose-invert-pre-code: #cdd6f4; } .paperclip-markdown pre { border: 1px solid color-mix(in oklab, var(--foreground) 12%, transparent) !important; border-radius: calc(var(--radius) - 3px) !important; background-color: #1e1e2e !important; color: #cdd6f4 !important; padding: 0.5rem 0.65rem !important; margin: 0.4rem 0 !important; font-size: 1em !important; overflow-x: auto; white-space: pre; } .paperclip-markdown code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 1em; } .paperclip-markdown pre code { font-size: inherit; color: inherit; background: none; } /* Remove backtick pseudo-elements from inline code (prose default adds them) */ .prose code::before, .prose code::after { content: none; } /* Inline code background (not inside a code block) */ .prose :not(pre) > code { background-color: color-mix(in oklab, var(--accent) 60%, transparent); padding: 0.15em 0.35em; border-radius: 3px; font-weight: 500; } .dark .prose :not(pre) > code { background-color: #ffffff0f; } .paperclip-markdown { color: var(--foreground); font-size: 0.9375rem; line-height: 1.6; } .paperclip-markdown > :first-child { margin-top: 0; } .paperclip-markdown > :last-child { margin-bottom: 0; } .paperclip-markdown :where(p, ul, ol, blockquote, pre, table) { margin-top: 0.7rem; margin-bottom: 0.7rem; } .paperclip-markdown :where(ul, ol) { padding-left: 1.15rem; } .paperclip-markdown ul { list-style-type: disc; } .paperclip-markdown ol { list-style-type: decimal; } .paperclip-markdown li { margin: 0.14rem 0; padding-left: 0.2rem; } .paperclip-markdown li > :where(p, ul, ol) { margin-top: 0.3rem; margin-bottom: 0.3rem; } .paperclip-markdown li::marker { color: var(--muted-foreground); } .paperclip-markdown h1, .paperclip-markdown h2, .paperclip-markdown h3, .paperclip-markdown h4 { margin-top: 1.75rem; margin-bottom: 0.45rem; color: var(--foreground); font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; } .paperclip-markdown h1 { font-size: 1.5rem; } .paperclip-markdown h2 { font-size: 1.25rem; } .paperclip-markdown h3 { font-size: 1.05rem; } .paperclip-markdown h4 { font-size: 0.95rem; } .paperclip-markdown :where(strong, b) { color: var(--foreground); font-weight: 600; } .paperclip-markdown a { color: color-mix(in oklab, var(--foreground) 76%, #0969da 24%); text-decoration: underline; text-underline-offset: 0.15em; cursor: pointer; } .paperclip-markdown a.paperclip-mention-chip { text-decoration: none; } .dark .paperclip-markdown a { color: color-mix(in oklab, var(--foreground) 80%, #58a6ff 20%); } .paperclip-markdown blockquote { margin-left: 0; padding-left: 0.95rem; border-left: 0.24rem solid color-mix(in oklab, var(--border) 84%, var(--muted-foreground) 16%); color: var(--muted-foreground); } .paperclip-markdown hr { margin: 1.25rem 0; border-color: var(--border); } .paperclip-markdown img { border-radius: calc(var(--radius) + 2px); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--foreground) 10%, transparent); } .paperclip-markdown table { width: 100%; } .paperclip-markdown th { font-weight: 600; text-align: left; } .paperclip-mermaid { margin: 0.5rem 0; padding: 0.45rem 0.55rem; border: 1px solid var(--border); border-radius: calc(var(--radius) - 3px); background-color: color-mix(in oklab, var(--accent) 35%, transparent); overflow-x: auto; } .paperclip-mermaid svg { display: block; width: max-content; max-width: none; min-width: 100%; height: auto; } .paperclip-mermaid-status { margin: 0 0 0.45rem; font-size: 0.75rem; color: var(--muted-foreground); } .paperclip-mermaid-status-error { color: var(--destructive); } .paperclip-mermaid-source { margin: 0; padding: 0; border: 0; background: transparent; } /* Project mention chips rendered inside MarkdownBody */ a.paperclip-mention-chip, a.paperclip-project-mention-chip { display: inline-flex; align-items: center; gap: 0.25rem; margin: 0 0.1rem; padding: 0.05rem 0.45rem; border: 1px solid var(--border); border-radius: 999px; font-size: 0.75rem; line-height: 1.3; text-decoration: none; vertical-align: middle; white-space: nowrap; } /* Keep MDXEditor popups above app dialogs, even when they portal to . */ [class*="_popupContainer_"] { z-index: 81 !important; } [class*="_dialogOverlay_"] { z-index: 80; } [class*="_dialogContent_"], [class*="_largeDialogContent_"], [class*="_popoverContent_"], [class*="_linkDialogPopoverContent_"], [class*="_tableColumnEditorPopoverContent_"], [class*="_toolbarButtonDropdownContainer_"], [class*="_toolbarNodeKindSelectContainer_"] { z-index: 81 !important; } @keyframes cursor-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } .animate-cursor-blink { animation: cursor-blink 800ms step-start infinite; } @media (prefers-reduced-motion: reduce) { .animate-cursor-blink { animation: none; opacity: 1; } }