| @import "tailwindcss"; |
| @import "tw-animate-css"; |
| @import "shadcn/tailwind.css"; |
| @source "../node_modules/streamdown/dist/*.js"; |
|
|
| @custom-variant dark (&:is(.dark *)); |
|
|
| @theme inline { |
| --color-background: var(--background); |
| --color-foreground: var(--foreground); |
| --font-sans: "Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif; |
| --font-mono: "Geist Mono", "Geist Mono Fallback", ui-monospace, monospace; |
| --font-heading: "Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif; |
| --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-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: calc(var(--radius) * 0.6); |
| --radius-md: calc(var(--radius) * 0.8); |
| --radius-lg: var(--radius); |
| --radius-xl: calc(var(--radius) * 1.4); |
| --radius-2xl: calc(var(--radius) * 1.8); |
| --radius-3xl: calc(var(--radius) * 2.2); |
| --radius-4xl: calc(var(--radius) * 2.6); |
| } |
|
|
| :root { |
| --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); |
| --border: oklch(0.922 0 0); |
| --input: oklch(0.922 0 0); |
| --ring: oklch(0.708 0 0); |
| --chart-1: oklch(0.87 0 0); |
| --chart-2: oklch(0.556 0 0); |
| --chart-3: oklch(0.439 0 0); |
| --chart-4: oklch(0.371 0 0); |
| --chart-5: oklch(0.269 0 0); |
| --radius: 0.625rem; |
| --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.095 0.012 20); |
| --foreground: oklch(0.98 0.006 20); |
| --card: oklch(0.16 0.018 20); |
| --card-foreground: oklch(0.98 0.006 20); |
| --popover: oklch(0.145 0.018 20); |
| --popover-foreground: oklch(0.98 0.006 20); |
| --primary: oklch(0.6 0.17 23); |
| --primary-foreground: oklch(0.985 0 0); |
| --secondary: oklch(0.22 0.04 24); |
| --secondary-foreground: oklch(0.985 0 0); |
| --muted: oklch(0.205 0.018 20); |
| --muted-foreground: oklch(0.74 0.018 35); |
| --accent: oklch(0.28 0.078 26); |
| --accent-foreground: oklch(0.985 0 0); |
| --destructive: oklch(0.66 0.245 27); |
| --border: oklch(1 0 0 / 12%); |
| --input: oklch(1 0 0 / 16%); |
| --ring: oklch(0.66 0.16 24); |
| --chart-1: oklch(0.64 0.236 25); |
| --chart-2: oklch(0.78 0.155 67); |
| --chart-3: oklch(0.76 0.2 142); |
| --chart-4: oklch(0.86 0.01 20); |
| --chart-5: oklch(0.4 0.07 25); |
| --sidebar: oklch(0.145 0.018 20); |
| --sidebar-foreground: oklch(0.985 0 0); |
| --sidebar-primary: oklch(0.6 0.17 23); |
| --sidebar-primary-foreground: oklch(0.985 0 0); |
| --sidebar-accent: oklch(0.22 0.04 24); |
| --sidebar-accent-foreground: oklch(0.985 0 0); |
| --sidebar-border: oklch(1 0 0 / 12%); |
| --sidebar-ring: oklch(0.66 0.16 24); |
| } |
|
|
| @layer base { |
| * { |
| @apply border-border outline-ring/50; |
| } |
| body { |
| @apply bg-background text-foreground; |
| min-height: 100vh; |
| background: |
| radial-gradient(circle at 12% 4%, rgb(0 224 255 / 14%), transparent 28rem), |
| linear-gradient(135deg, #020a0d 0%, #071013 55%, #050505 100%); |
| } |
| html { |
| @apply font-sans; |
| background: #050505; |
| } |
| } |
|
|
| .rocmpilot-shell { |
| --theme-progress: 0%; |
| --theme-progress-ratio: 0; |
| --theme-accent: color-mix( |
| in oklab, |
| rgb(34 211 238) calc(100% - var(--theme-progress)), |
| rgb(214 74 78) var(--theme-progress) |
| ); |
| --theme-accent-text: color-mix(in oklab, var(--theme-accent) 74%, white 26%); |
| --theme-accent-soft: color-mix(in oklab, var(--theme-accent) 13%, transparent); |
| --theme-accent-border: color-mix(in oklab, var(--theme-accent) 44%, transparent); |
| --theme-accent-glow: color-mix(in oklab, var(--theme-accent) 28%, transparent); |
| position: relative; |
| isolation: isolate; |
| overflow: hidden; |
| transition: background 900ms ease; |
| background: |
| radial-gradient(circle at 16% 6%, rgb(0 224 255 / 22%), transparent 34rem), |
| radial-gradient(circle at 78% 4%, rgb(0 92 255 / 12%), transparent 38rem), |
| linear-gradient(135deg, #031114 0%, #081012 46%, #0d0d10 100%); |
| } |
|
|
| .rocmpilot-shell::before { |
| content: ""; |
| position: absolute; |
| inset: 0; |
| z-index: -2; |
| opacity: calc(var(--theme-progress-ratio) * 0.92); |
| background: |
| radial-gradient(circle at 48% 10%, rgb(214 74 78 / 22%), transparent 38rem), |
| radial-gradient(circle at 18% 44%, rgb(214 74 78 / 14%), transparent 52rem), |
| linear-gradient(135deg, rgb(214 74 78 / 14%), rgb(22 7 9 / 86%)); |
| transition: opacity 900ms ease; |
| pointer-events: none; |
| } |
|
|
| .rocmpilot-shell::after { |
| content: ""; |
| position: absolute; |
| inset: 0; |
| z-index: -1; |
| background-image: |
| linear-gradient(color-mix(in oklab, var(--theme-accent) 12%, transparent) 1px, transparent 1px), |
| linear-gradient(90deg, color-mix(in oklab, var(--theme-accent) 12%, transparent) 1px, transparent 1px); |
| background-size: 72px 72px; |
| mask-image: linear-gradient(to bottom, black 0%, transparent 64%); |
| transition: background-image 900ms ease; |
| pointer-events: none; |
| } |
|
|
| .amd-card-glow { |
| background: |
| linear-gradient(180deg, rgb(255 255 255 / 4%), transparent), |
| linear-gradient(135deg, var(--theme-accent-soft), transparent 38%), |
| var(--card); |
| box-shadow: |
| inset 0 1px 0 rgb(255 255 255 / 5%), |
| 0 0 0 1px color-mix(in oklab, var(--theme-accent) 10%, transparent); |
| transition: |
| background 900ms ease, |
| box-shadow 900ms ease; |
| } |
|
|
| .theme-chip { |
| border-color: var(--theme-accent-border); |
| background: var(--theme-accent-soft); |
| color: var(--theme-accent-text); |
| box-shadow: 0 0 18px var(--theme-accent-glow); |
| transition: |
| border-color 900ms ease, |
| background 900ms ease, |
| color 900ms ease, |
| box-shadow 900ms ease; |
| } |
|
|
| .theme-action-button { |
| border-color: color-mix(in oklab, var(--theme-accent) 62%, transparent); |
| background: var(--theme-accent); |
| color: white; |
| box-shadow: 0 0 26px var(--theme-accent-glow); |
| transition: |
| border-color 900ms ease, |
| background 900ms ease, |
| box-shadow 900ms ease, |
| filter 180ms ease, |
| transform 180ms ease; |
| } |
|
|
| .theme-action-button:hover { |
| filter: brightness(1.08); |
| } |
|
|
| .theme-icon { |
| color: var(--theme-accent); |
| transition: color 900ms ease; |
| } |
|
|
| .theme-text { |
| color: var(--theme-accent-text); |
| transition: color 900ms ease; |
| } |
|
|
| .theme-dot { |
| background: var(--theme-accent); |
| box-shadow: 0 0 14px var(--theme-accent-glow); |
| transition: |
| background 900ms ease, |
| box-shadow 900ms ease; |
| } |
|
|
| .theme-panel { |
| border-color: color-mix(in oklab, var(--theme-accent) 24%, transparent); |
| background: color-mix(in oklab, var(--theme-accent) 5%, rgb(10 10 10 / 70%)); |
| transition: |
| border-color 900ms ease, |
| background 900ms ease; |
| } |
|
|
| .theme-terminal { |
| border-color: var(--theme-accent-border); |
| box-shadow: 0 0 28px var(--theme-accent-glow); |
| transition: |
| border-color 900ms ease, |
| box-shadow 900ms ease; |
| } |
|
|
| .theme-terminal-header { |
| border-color: var(--theme-accent-border); |
| background: var(--theme-accent-soft); |
| transition: |
| border-color 900ms ease, |
| background 900ms ease; |
| } |
|
|
| .theme-cursor { |
| background: var(--theme-accent); |
| transition: background 900ms ease; |
| } |
|
|