mirror of
https://github.com/vercel/workflow.git
synced 2026-09-14 19:59:43 +08:00
161431b1d0
* feat(web-shared): RelativeTimeCard with shared ContextCard provider (#2328)
* feat(web-shared): RelativeTimeCard with shared ContextCard provider
Add a ContextCard provider/trigger and rebuild the timestamp tooltip as a
RelativeTimeCard, giving animated, collision-aware morphing hover cards.
Mount the shared provider in EventListView and AttributePanel.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Match vercel/front timestamp format for run/activity fields
Render absolute Created/Started/Completed (and sibling) timestamps using
date-fns in vercel/front's request/activity format (e.g.
"JUN 10 10:16:02.69 GMT-4") via the shared formatLocalMillisecondTime helper.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(web-shared): register dark-theme/light-theme Tailwind variants
The context-card arrow tip stroke uses `dark-theme:[--context-card-tip-stroke:#252525]`,
but Tailwind v4 has no built-in `dark-theme` variant, so the utility was silently
dropped and the stroke fell back to its light `#DBDBDB` value — rendering as a white
caret in dark mode. Register the `dark-theme`/`light-theme` custom variants in
styles.css (mirroring vercel/front's geistcn tailwind.css, extended to match the
`.dark`/`[data-theme="dark"]` selectors this package and next-themes use).
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(web-shared): match context card shadow to vercel/front
The --ds-shadow-tooltip token was guessed when added standalone, producing
an oversized/heavy drop shadow. Reproduce front's exact resolved value for
both light and dark themes (including the background-border layer).
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(web-shared): bridge context card hover gap to stop flicker
The card is positioned `sideOffset` away from the trigger, leaving a
transparent un-hoverable gap that caused the hover card to flicker
(open → close → open) when moving the cursor onto it. Add a transparent
hover bridge inside the floating wrapper that extends the hover surface
by `sideOffset` to meet the trigger edge, keeping the visual spacing
while making the hover surface continuous.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Revert "fix(web-shared): bridge context card hover gap to stop flicker"
This reverts commit 2b961b1610.
* docs: simplify changeset description
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs: remove vercel/front references from comments
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(web-shared): only clear active context card when the active trigger unmounts
The unmount cleanup had an inverted guard: an unmounting inactive trigger
would clear the shared active card, hiding another trigger's card (and an
unmounting active trigger left a stale card). Guard on === id instead.
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs: remove theme-variant comment
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
* fix(web): correct Geist tokens and context card styling in observability UI (#2435)
* fix(web): register dark-theme/light-theme custom variants in globals.css
* fix(web): register missing Geist color tokens (background-100, gray-1000, gray-alpha-400)
* chore(web): drop explanatory comments in globals.css
* fix(web): map full Geist gray scale to theme-aware Tailwind tokens
* fix(web): correct --ds-* neutral palette to canonical Geist values
* fix(web): add missing --ds-shadow-tooltip token for context card border/shadow
* fix(web-shared): match context card arrow stroke to border via --ds-gray-alpha-400
* docs(changeset): shorten web changeset
* docs(changeset): consolidate into a single changeset
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* Apply suggestions from code review
Co-authored-by: Peter Wielander <mittgfu@gmail.com>
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
* Apply suggestion from @VaguelySerious
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
---------
Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
Signed-off-by: Peter Wielander <mittgfu@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Peter Wielander <mittgfu@gmail.com>
Co-authored-by: Mitul Shah <mitulxshah@gmail.com>
570 lines
19 KiB
CSS
570 lines
19 KiB
CSS
@import "tailwindcss";
|
|
|
|
/* Scan web-shared package for Tailwind classes */
|
|
@source "../../web-shared/src";
|
|
@source "./components";
|
|
|
|
/* Geist fonts — referenced directly from the "geist" npm package. */
|
|
/* Vite resolves these at build time and bundles them into the output. */
|
|
@font-face {
|
|
font-family: "Geist Sans";
|
|
font-style: normal;
|
|
font-weight: 100 900;
|
|
font-display: swap;
|
|
src: url("../node_modules/geist/dist/fonts/geist-sans/Geist-Variable.woff2") format("woff2");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: "Geist Mono";
|
|
font-style: normal;
|
|
font-weight: 100 900;
|
|
font-display: swap;
|
|
src: url("../node_modules/geist/dist/fonts/geist-mono/GeistMono-Variable.woff2") format("woff2");
|
|
}
|
|
|
|
:root {
|
|
--font-geist-sans: "Geist Sans", ui-sans-serif, system-ui, sans-serif;
|
|
--font-geist-mono: "Geist Mono", ui-monospace, monospace;
|
|
}
|
|
|
|
@theme inline {
|
|
--color-background: var(--background);
|
|
--color-foreground: var(--foreground);
|
|
--font-sans: var(--font-geist-sans);
|
|
--font-mono: var(--font-geist-mono);
|
|
--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-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);
|
|
|
|
--color-background-100: var(--ds-background-100);
|
|
--color-background-200: var(--ds-background-200);
|
|
--color-gray-100: var(--ds-gray-100);
|
|
--color-gray-200: var(--ds-gray-200);
|
|
--color-gray-300: var(--ds-gray-300);
|
|
--color-gray-400: var(--ds-gray-400);
|
|
--color-gray-500: var(--ds-gray-500);
|
|
--color-gray-600: var(--ds-gray-600);
|
|
--color-gray-700: var(--ds-gray-700);
|
|
--color-gray-800: var(--ds-gray-800);
|
|
--color-gray-900: var(--ds-gray-900);
|
|
--color-gray-1000: var(--ds-gray-1000);
|
|
--color-gray-alpha-100: var(--ds-gray-alpha-100);
|
|
--color-gray-alpha-200: var(--ds-gray-alpha-200);
|
|
--color-gray-alpha-400: var(--ds-gray-alpha-400);
|
|
--color-gray-alpha-700: var(--ds-gray-alpha-700);
|
|
--color-gray-alpha-1000: var(--ds-gray-alpha-1000);
|
|
|
|
--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.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.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);
|
|
|
|
/* Workflow node background colors - Light Mode */
|
|
--node-bg-step: #dcfce7;
|
|
--node-bg-start: #dbeafe;
|
|
--node-bg-primitive: #ffedd5;
|
|
--node-bg-agent: #fce7f3;
|
|
--node-bg-tool: #f3e8ff;
|
|
--node-bg-conditional: #fee2e2;
|
|
|
|
/* Geist Design System Colors - Light Mode */
|
|
/* Backgrounds */
|
|
--ds-background-100: rgb(255 255 255);
|
|
--ds-background-200: rgb(250 250 250);
|
|
|
|
/* Gray Scale */
|
|
--ds-gray-100: hsl(0, 0%, 95%);
|
|
--ds-gray-200: hsl(0, 0%, 92%);
|
|
--ds-gray-300: hsl(0, 0%, 90%);
|
|
--ds-gray-400: hsl(0, 0%, 92%);
|
|
--ds-gray-500: hsl(0, 0%, 79%);
|
|
--ds-gray-600: hsl(0, 0%, 66%);
|
|
--ds-gray-700: hsl(0, 0%, 56%);
|
|
--ds-gray-800: hsl(0, 0%, 49%);
|
|
--ds-gray-900: hsl(0, 0%, 40%);
|
|
--ds-gray-1000: hsl(0, 0%, 9%);
|
|
|
|
/* Gray Alpha */
|
|
--ds-gray-alpha-100: rgba(0, 0, 0, 0.05);
|
|
--ds-gray-alpha-200: hsla(0, 0%, 0%, 0.081);
|
|
--ds-gray-alpha-400: hsla(0, 0%, 0%, 0.08);
|
|
--ds-gray-alpha-700: hsla(0, 0%, 0%, 0.44);
|
|
--ds-gray-alpha-1000: hsla(0, 0%, 0%, 0.91);
|
|
|
|
/* Blue */
|
|
--ds-blue-100: rgb(224 242 254);
|
|
--ds-blue-200: rgb(186 230 253);
|
|
--ds-blue-300: rgb(125 211 252);
|
|
--ds-blue-400: rgb(56 189 248);
|
|
--ds-blue-500: rgb(14 165 233);
|
|
--ds-blue-600: rgb(2 132 199);
|
|
--ds-blue-700: rgb(3 105 161);
|
|
--ds-blue-800: rgb(7 89 133);
|
|
--ds-blue-900: rgb(12 74 110);
|
|
--ds-blue-1000: rgb(8 47 73);
|
|
|
|
/* Red */
|
|
--ds-red-100: rgb(254 226 226);
|
|
--ds-red-200: rgb(254 202 202);
|
|
--ds-red-300: rgb(252 165 165);
|
|
--ds-red-400: rgb(248 113 113);
|
|
--ds-red-500: rgb(239 68 68);
|
|
--ds-red-600: rgb(220 38 38);
|
|
--ds-red-700: rgb(185 28 28);
|
|
--ds-red-800: rgb(153 27 27);
|
|
--ds-red-900: rgb(127 29 29);
|
|
--ds-red-1000: rgb(69 10 10);
|
|
|
|
/* Amber */
|
|
--ds-amber-100: rgb(254 243 199);
|
|
--ds-amber-200: rgb(253 230 138);
|
|
--ds-amber-300: rgb(252 211 77);
|
|
--ds-amber-400: rgb(251 191 36);
|
|
--ds-amber-500: rgb(245 158 11);
|
|
--ds-amber-600: rgb(217 119 6);
|
|
--ds-amber-700: rgb(180 83 9);
|
|
--ds-amber-800: rgb(146 64 14);
|
|
--ds-amber-900: rgb(120 53 15);
|
|
--ds-amber-1000: rgb(69 26 3);
|
|
|
|
/* Green */
|
|
--ds-green-100: rgb(220 252 231);
|
|
--ds-green-200: rgb(187 247 208);
|
|
--ds-green-300: rgb(134 239 172);
|
|
--ds-green-400: rgb(74 222 128);
|
|
--ds-green-500: rgb(34 197 94);
|
|
--ds-green-600: rgb(22 163 74);
|
|
--ds-green-700: rgb(21 128 61);
|
|
--ds-green-800: rgb(22 101 52);
|
|
--ds-green-900: rgb(20 83 45);
|
|
--ds-green-1000: rgb(5 46 22);
|
|
|
|
/* Purple */
|
|
--ds-purple-100: rgb(243 232 255);
|
|
--ds-purple-200: rgb(233 213 255);
|
|
--ds-purple-300: rgb(216 180 254);
|
|
--ds-purple-400: rgb(192 132 252);
|
|
--ds-purple-500: rgb(168 85 247);
|
|
--ds-purple-600: rgb(147 51 234);
|
|
--ds-purple-700: rgb(126 34 206);
|
|
--ds-purple-800: rgb(107 33 168);
|
|
--ds-purple-900: rgb(88 28 135);
|
|
--ds-purple-1000: rgb(59 7 100);
|
|
|
|
/* Pink */
|
|
--ds-pink-200: rgb(252 231 243);
|
|
--ds-pink-400: rgb(249 168 212);
|
|
--ds-pink-500: rgb(244 114 182);
|
|
--ds-pink-900: rgb(131 24 67);
|
|
|
|
/* Teal */
|
|
--ds-teal-100: rgb(204 251 241);
|
|
--ds-teal-200: rgb(153 246 228);
|
|
--ds-teal-300: rgb(94 234 212);
|
|
--ds-teal-400: rgb(45 212 191);
|
|
--ds-teal-500: rgb(20 184 166);
|
|
--ds-teal-600: rgb(13 148 136);
|
|
--ds-teal-700: rgb(15 118 110);
|
|
--ds-teal-800: rgb(17 94 89);
|
|
--ds-teal-900: rgb(19 78 74);
|
|
--ds-teal-1000: rgb(4 47 46);
|
|
|
|
/* Shadows */
|
|
--ds-shadow-small: 0 0 0 1px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.05), 0 12px 24px rgba(0, 0, 0, 0.05);
|
|
--ds-shadow-medium: 0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 8px rgba(0, 0, 0, 0.07), 0 24px 48px rgba(0, 0, 0, 0.07);
|
|
--ds-shadow-large: 0 0 0 1px rgba(0, 0, 0, 0.07), 0 8px 16px rgba(0, 0, 0, 0.10), 0 48px 96px rgba(0, 0, 0, 0.10);
|
|
--ds-shadow-tooltip:
|
|
0 0 0 1px rgba(0, 0, 0, 0.08), 0px 1px 1px rgba(0, 0, 0, 0.02),
|
|
0px 4px 8px rgba(0, 0, 0, 0.04), 0 0 0 1px var(--ds-background-200);
|
|
--ds-shadow-menu: var(--ds-shadow-medium);
|
|
|
|
/* Legacy aliases used by trace-viewer.module.css */
|
|
--geist-background: var(--ds-background-100);
|
|
--accents-2: var(--ds-gray-300);
|
|
--accents-5: var(--ds-gray-700);
|
|
--accents-7: var(--ds-gray-900);
|
|
}
|
|
|
|
.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.922 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.704 0.191 22.216);
|
|
--destructive-foreground: oklch(0.985 0 0);
|
|
--border: oklch(1 0 0 / 10%);
|
|
--input: oklch(1 0 0 / 15%);
|
|
--ring: oklch(0.556 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.205 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(1 0 0 / 10%);
|
|
--sidebar-ring: oklch(0.556 0 0);
|
|
|
|
/* Workflow node background colors - Dark Mode */
|
|
--node-bg-step: #14532d;
|
|
--node-bg-start: #1e3a5f;
|
|
--node-bg-primitive: #7c2d12;
|
|
--node-bg-agent: #831843;
|
|
--node-bg-tool: #581c87;
|
|
--node-bg-conditional: #7f1d1d;
|
|
|
|
/* Geist Design System Colors - Dark Mode */
|
|
/* Backgrounds */
|
|
--ds-background-100: hsl(0, 0%, 7%);
|
|
--ds-background-200: hsl(0, 0%, 10%);
|
|
|
|
/* Gray Scale */
|
|
--ds-gray-100: hsl(0, 0%, 11%);
|
|
--ds-gray-200: hsl(0, 0%, 14%);
|
|
--ds-gray-300: hsl(0, 0%, 17%);
|
|
--ds-gray-400: hsl(0, 0%, 14%);
|
|
--ds-gray-500: hsl(0, 0%, 23%);
|
|
--ds-gray-600: hsl(0, 0%, 34%);
|
|
--ds-gray-700: hsl(0, 0%, 44%);
|
|
--ds-gray-800: hsl(0, 0%, 51%);
|
|
--ds-gray-900: hsl(0, 0%, 63%);
|
|
--ds-gray-1000: hsl(0, 0%, 93%);
|
|
|
|
/* Gray Alpha - Dark Mode */
|
|
--ds-gray-alpha-100: rgba(255, 255, 255, 0.06);
|
|
--ds-gray-alpha-200: rgba(255, 255, 255, 0.09);
|
|
--ds-gray-alpha-400: rgba(255, 255, 255, 0.14);
|
|
--ds-gray-alpha-700: rgba(255, 255, 255, 0.45);
|
|
--ds-gray-alpha-1000: rgba(255, 255, 255, 0.92);
|
|
|
|
/* Blue - Dark Mode */
|
|
--ds-blue-100: rgb(8 47 73);
|
|
--ds-blue-200: rgb(12 74 110);
|
|
--ds-blue-300: rgb(7 89 133);
|
|
--ds-blue-400: rgb(3 105 161);
|
|
--ds-blue-500: rgb(2 132 199);
|
|
--ds-blue-600: rgb(14 165 233);
|
|
--ds-blue-700: rgb(56 189 248);
|
|
--ds-blue-800: rgb(125 211 252);
|
|
--ds-blue-900: rgb(186 230 253);
|
|
--ds-blue-1000: rgb(224 242 254);
|
|
|
|
/* Red - Dark Mode */
|
|
--ds-red-100: rgb(69 10 10);
|
|
--ds-red-200: rgb(127 29 29);
|
|
--ds-red-300: rgb(153 27 27);
|
|
--ds-red-400: rgb(185 28 28);
|
|
--ds-red-500: rgb(220 38 38);
|
|
--ds-red-600: rgb(239 68 68);
|
|
--ds-red-700: rgb(248 113 113);
|
|
--ds-red-800: rgb(252 165 165);
|
|
--ds-red-900: rgb(254 202 202);
|
|
--ds-red-1000: rgb(254 226 226);
|
|
|
|
/* Amber - Dark Mode */
|
|
--ds-amber-100: rgb(69 26 3);
|
|
--ds-amber-200: rgb(120 53 15);
|
|
--ds-amber-300: rgb(146 64 14);
|
|
--ds-amber-400: rgb(180 83 9);
|
|
--ds-amber-500: rgb(217 119 6);
|
|
--ds-amber-600: rgb(245 158 11);
|
|
--ds-amber-700: rgb(251 191 36);
|
|
--ds-amber-800: rgb(252 211 77);
|
|
--ds-amber-900: rgb(253 230 138);
|
|
--ds-amber-1000: rgb(254 243 199);
|
|
|
|
/* Green - Dark Mode */
|
|
--ds-green-100: rgb(5 46 22);
|
|
--ds-green-200: rgb(20 83 45);
|
|
--ds-green-300: rgb(22 101 52);
|
|
--ds-green-400: rgb(21 128 61);
|
|
--ds-green-500: rgb(22 163 74);
|
|
--ds-green-600: rgb(34 197 94);
|
|
--ds-green-700: rgb(74 222 128);
|
|
--ds-green-800: rgb(134 239 172);
|
|
--ds-green-900: rgb(187 247 208);
|
|
--ds-green-1000: rgb(220 252 231);
|
|
|
|
/* Purple - Dark Mode */
|
|
--ds-purple-100: rgb(59 7 100);
|
|
--ds-purple-200: rgb(88 28 135);
|
|
--ds-purple-300: rgb(107 33 168);
|
|
--ds-purple-400: rgb(126 34 206);
|
|
--ds-purple-500: rgb(147 51 234);
|
|
--ds-purple-600: rgb(168 85 247);
|
|
--ds-purple-700: rgb(192 132 252);
|
|
--ds-purple-800: rgb(216 180 254);
|
|
--ds-purple-900: rgb(233 213 255);
|
|
--ds-purple-1000: rgb(243 232 255);
|
|
|
|
/* Pink - Dark Mode */
|
|
--ds-pink-200: rgb(131 24 67);
|
|
--ds-pink-400: rgb(157 23 77);
|
|
--ds-pink-500: rgb(190 24 93);
|
|
--ds-pink-900: rgb(251 207 232);
|
|
|
|
/* Teal - Dark Mode */
|
|
--ds-teal-100: rgb(4 47 46);
|
|
--ds-teal-200: rgb(19 78 74);
|
|
--ds-teal-300: rgb(17 94 89);
|
|
--ds-teal-400: rgb(15 118 110);
|
|
--ds-teal-500: rgb(13 148 136);
|
|
--ds-teal-600: rgb(20 184 166);
|
|
--ds-teal-700: rgb(45 212 191);
|
|
--ds-teal-800: rgb(94 234 212);
|
|
--ds-teal-900: rgb(153 246 228);
|
|
--ds-teal-1000: rgb(204 251 241);
|
|
|
|
/* Shadows - Dark Mode */
|
|
--ds-shadow-small: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 2px 4px rgba(0, 0, 0, 0.3), 0 12px 24px rgba(0, 0, 0, 0.3);
|
|
--ds-shadow-medium: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 4px 8px rgba(0, 0, 0, 0.4), 0 24px 48px rgba(0, 0, 0, 0.4);
|
|
--ds-shadow-large: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 8px 16px rgba(0, 0, 0, 0.5), 0 48px 96px rgba(0, 0, 0, 0.5);
|
|
--ds-shadow-tooltip:
|
|
0 0 0 1px rgba(255, 255, 255, 0.145), 0px 1px 1px rgba(0, 0, 0, 0.02),
|
|
0px 4px 8px rgba(0, 0, 0, 0.04), 0 0 0 1px var(--ds-background-200);
|
|
--ds-shadow-menu: var(--ds-shadow-medium);
|
|
|
|
/* Legacy aliases used by trace-viewer.module.css */
|
|
--geist-background: var(--ds-background-100);
|
|
--accents-2: var(--ds-gray-300);
|
|
--accents-5: var(--ds-gray-700);
|
|
--accents-7: var(--ds-gray-900);
|
|
}
|
|
|
|
/* System dark mode preference (when no explicit light/dark class is set) */
|
|
@media (prefers-color-scheme: dark) {
|
|
:root:not(.light) {
|
|
--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.922 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.704 0.191 22.216);
|
|
--destructive-foreground: oklch(0.985 0 0);
|
|
--border: oklch(1 0 0 / 10%);
|
|
--input: oklch(1 0 0 / 15%);
|
|
--ring: oklch(0.556 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.205 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(1 0 0 / 10%);
|
|
--sidebar-ring: oklch(0.556 0 0);
|
|
|
|
/* Workflow node background colors - Dark Mode */
|
|
--node-bg-step: #14532d;
|
|
--node-bg-start: #1e3a5f;
|
|
--node-bg-primitive: #7c2d12;
|
|
--node-bg-agent: #831843;
|
|
--node-bg-tool: #581c87;
|
|
--node-bg-conditional: #7f1d1d;
|
|
|
|
/* Geist Design System Colors - Dark Mode (same as .dark) */
|
|
--ds-background-100: hsl(0, 0%, 7%);
|
|
--ds-background-200: hsl(0, 0%, 10%);
|
|
--ds-gray-100: hsl(0, 0%, 11%);
|
|
--ds-gray-200: hsl(0, 0%, 14%);
|
|
--ds-gray-300: hsl(0, 0%, 17%);
|
|
--ds-gray-400: hsl(0, 0%, 14%);
|
|
--ds-gray-500: hsl(0, 0%, 23%);
|
|
--ds-gray-600: hsl(0, 0%, 34%);
|
|
--ds-gray-700: hsl(0, 0%, 44%);
|
|
--ds-gray-800: hsl(0, 0%, 51%);
|
|
--ds-gray-900: hsl(0, 0%, 63%);
|
|
--ds-gray-1000: hsl(0, 0%, 93%);
|
|
--ds-gray-alpha-100: rgba(255, 255, 255, 0.06);
|
|
--ds-gray-alpha-200: rgba(255, 255, 255, 0.09);
|
|
--ds-gray-alpha-400: rgba(255, 255, 255, 0.14);
|
|
--ds-gray-alpha-700: rgba(255, 255, 255, 0.45);
|
|
--ds-gray-alpha-1000: rgba(255, 255, 255, 0.92);
|
|
--ds-blue-100: rgb(8 47 73);
|
|
--ds-blue-200: rgb(12 74 110);
|
|
--ds-blue-300: rgb(7 89 133);
|
|
--ds-blue-400: rgb(3 105 161);
|
|
--ds-blue-500: rgb(2 132 199);
|
|
--ds-blue-600: rgb(14 165 233);
|
|
--ds-blue-700: rgb(56 189 248);
|
|
--ds-blue-800: rgb(125 211 252);
|
|
--ds-blue-900: rgb(186 230 253);
|
|
--ds-blue-1000: rgb(224 242 254);
|
|
--ds-red-100: rgb(69 10 10);
|
|
--ds-red-200: rgb(127 29 29);
|
|
--ds-red-300: rgb(153 27 27);
|
|
--ds-red-400: rgb(185 28 28);
|
|
--ds-red-500: rgb(220 38 38);
|
|
--ds-red-600: rgb(239 68 68);
|
|
--ds-red-700: rgb(248 113 113);
|
|
--ds-red-800: rgb(252 165 165);
|
|
--ds-red-900: rgb(254 202 202);
|
|
--ds-red-1000: rgb(254 226 226);
|
|
--ds-amber-100: rgb(69 26 3);
|
|
--ds-amber-200: rgb(120 53 15);
|
|
--ds-amber-300: rgb(146 64 14);
|
|
--ds-amber-400: rgb(180 83 9);
|
|
--ds-amber-500: rgb(217 119 6);
|
|
--ds-amber-600: rgb(245 158 11);
|
|
--ds-amber-700: rgb(251 191 36);
|
|
--ds-amber-800: rgb(252 211 77);
|
|
--ds-amber-900: rgb(253 230 138);
|
|
--ds-amber-1000: rgb(254 243 199);
|
|
--ds-green-100: rgb(5 46 22);
|
|
--ds-green-200: rgb(20 83 45);
|
|
--ds-green-300: rgb(22 101 52);
|
|
--ds-green-400: rgb(21 128 61);
|
|
--ds-green-500: rgb(22 163 74);
|
|
--ds-green-600: rgb(34 197 94);
|
|
--ds-green-700: rgb(74 222 128);
|
|
--ds-green-800: rgb(134 239 172);
|
|
--ds-green-900: rgb(187 247 208);
|
|
--ds-green-1000: rgb(220 252 231);
|
|
--ds-purple-100: rgb(59 7 100);
|
|
--ds-purple-200: rgb(88 28 135);
|
|
--ds-purple-300: rgb(107 33 168);
|
|
--ds-purple-400: rgb(126 34 206);
|
|
--ds-purple-500: rgb(147 51 234);
|
|
--ds-purple-600: rgb(168 85 247);
|
|
--ds-purple-700: rgb(192 132 252);
|
|
--ds-purple-800: rgb(216 180 254);
|
|
--ds-purple-900: rgb(233 213 255);
|
|
--ds-purple-1000: rgb(243 232 255);
|
|
--ds-pink-200: rgb(131 24 67);
|
|
--ds-pink-400: rgb(157 23 77);
|
|
--ds-pink-500: rgb(190 24 93);
|
|
--ds-pink-900: rgb(251 207 232);
|
|
--ds-teal-100: rgb(4 47 46);
|
|
--ds-teal-200: rgb(19 78 74);
|
|
--ds-teal-300: rgb(17 94 89);
|
|
--ds-teal-400: rgb(15 118 110);
|
|
--ds-teal-500: rgb(13 148 136);
|
|
--ds-teal-600: rgb(20 184 166);
|
|
--ds-teal-700: rgb(45 212 191);
|
|
--ds-teal-800: rgb(94 234 212);
|
|
--ds-teal-900: rgb(153 246 228);
|
|
--ds-teal-1000: rgb(204 251 241);
|
|
--ds-shadow-small: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 2px 4px rgba(0, 0, 0, 0.3), 0 12px 24px rgba(0, 0, 0, 0.3);
|
|
--ds-shadow-medium: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 4px 8px rgba(0, 0, 0, 0.4), 0 24px 48px rgba(0, 0, 0, 0.4);
|
|
--ds-shadow-large: 0 0 0 1px rgba(255, 255, 255, 0.07), 0 8px 16px rgba(0, 0, 0, 0.5), 0 48px 96px rgba(0, 0, 0, 0.5);
|
|
--ds-shadow-tooltip:
|
|
0 0 0 1px rgba(255, 255, 255, 0.145), 0px 1px 1px rgba(0, 0, 0, 0.02),
|
|
0px 4px 8px rgba(0, 0, 0, 0.04), 0 0 0 1px var(--ds-background-200);
|
|
--ds-shadow-menu: var(--ds-shadow-medium);
|
|
--geist-background: var(--ds-background-100);
|
|
--accents-2: var(--ds-gray-300);
|
|
--accents-5: var(--ds-gray-700);
|
|
--accents-7: var(--ds-gray-900);
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border outline-ring/50;
|
|
}
|
|
body {
|
|
@apply bg-background text-foreground overscroll-none;
|
|
}
|
|
html {
|
|
@apply overscroll-none;
|
|
}
|
|
}
|
|
|
|
@keyframes gradient {
|
|
0%, 100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
} |