| @import "tailwindcss"; |
| @import "tw-animate-css"; |
| @import "shadcn/tailwind.css"; |
| @import "@fontsource-variable/geist"; |
|
|
| html { |
| transition: font-size 0.2s ease; |
| } |
|
|
| @custom-variant dark (&:is(.dark *)); |
|
|
| @theme inline { |
| --font-heading: var(--font-sans); |
| --font-sans: 'Geist Variable', 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); |
| --color-foreground: var(--foreground); |
| --color-background: var(--background); |
| --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: #0a0e1a; |
| --foreground: #e8eaf6; |
| --card: #0f1629; |
| --card-foreground: #e8eaf6; |
| --popover: #0f1629; |
| --popover-foreground: #e8eaf6; |
| --primary: #0284c7; |
| --primary-foreground: #ffffff; |
| --secondary: #121d35; |
| --secondary-foreground: #e8eaf6; |
| --muted: #121d35; |
| --muted-foreground: #94a3b8; |
| --accent: #121d35; |
| --accent-foreground: #e8eaf6; |
| --destructive: #ef4444; |
| --border: rgba(14, 165, 233, 0.12); |
| --input: rgba(14, 165, 233, 0.1); |
| --ring: #0284c7; |
| --radius: 1rem; |
| } |
|
|
| .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); |
| --border: oklch(1 0 0 / 10%); |
| --input: oklch(1 0 0 / 15%); |
| --ring: oklch(0.556 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); |
| --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); |
| } |
|
|
| @layer base { |
| * { |
| @apply border-border outline-ring/50; |
| } |
| body { |
| @apply bg-background text-foreground; |
| } |
| html { |
| @apply font-sans; |
| } |
| } |
|
|
| @layer utilities { |
| .custom-scrollbar { |
| scrollbar-width: thin; |
| scrollbar-color: rgba(34, 211, 238, 0.45) rgba(15, 23, 42, 0.55); |
| } |
|
|
| .custom-scrollbar::-webkit-scrollbar { |
| width: 10px; |
| } |
|
|
| .custom-scrollbar::-webkit-scrollbar-track { |
| background: rgba(15, 23, 42, 0.45); |
| border-radius: 999px; |
| } |
|
|
| .custom-scrollbar::-webkit-scrollbar-thumb { |
| background: linear-gradient(180deg, rgba(14, 165, 233, 0.5), rgba(2, 132, 199, 0.55)); |
| border: 2px solid rgba(2, 6, 23, 0.8); |
| border-radius: 999px; |
| } |
|
|
| .day-mode { |
| filter: invert(1) hue-rotate(180deg); |
| } |
| |
| .day-mode img, |
| .day-mode video { |
| filter: invert(1) hue-rotate(180deg); |
| } |
|
|
| |
| .scrollbar-auto-hide { |
| scrollbar-width: thin; |
| scrollbar-color: transparent transparent; |
| transition: scrollbar-color 0.3s ease; |
| } |
|
|
| .scrollbar-auto-hide:hover, |
| .scrollbar-auto-hide:active { |
| scrollbar-color: rgba(14, 165, 233, 0.35) rgba(10, 14, 26, 0.25); |
| } |
|
|
| .scrollbar-auto-hide::-webkit-scrollbar { |
| width: 6px; |
| } |
|
|
| .scrollbar-auto-hide::-webkit-scrollbar-track { |
| background: transparent; |
| } |
|
|
| .scrollbar-auto-hide::-webkit-scrollbar-thumb { |
| background: transparent; |
| border-radius: 999px; |
| transition: background 0.3s ease; |
| } |
|
|
| .scrollbar-auto-hide:hover::-webkit-scrollbar-thumb { |
| background: linear-gradient(180deg, rgba(14, 165, 233, 0.4), rgba(2, 132, 199, 0.45)); |
| } |
|
|
| .company-logo-mark { |
| transform: translateY(0); |
| } |
|
|
| .company-logo-mark:hover { |
| animation: company-logo-float 1.6s ease-in-out infinite; |
| will-change: transform; |
| } |
|
|
| .compiler-shell::before { |
| content: ""; |
| position: absolute; |
| inset: 0; |
| z-index: -2; |
| pointer-events: none; |
| background: |
| linear-gradient(135deg, rgba(20, 184, 166, 0.11), transparent 34%, rgba(245, 158, 11, 0.06) 58%, rgba(59, 130, 246, 0.08)), |
| linear-gradient(rgba(148, 163, 184, 0.045) 1px, transparent 1px), |
| linear-gradient(90deg, rgba(148, 163, 184, 0.04) 1px, transparent 1px); |
| background-size: 100% 100%, 72px 72px, 72px 72px; |
| animation: compiler-grid-drift 18s linear infinite; |
| } |
|
|
| .compiler-shell::after { |
| content: ""; |
| position: absolute; |
| inset: 0; |
| z-index: -1; |
| pointer-events: none; |
| background: |
| linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.08), transparent), |
| repeating-linear-gradient(0deg, transparent 0 9px, rgba(255, 255, 255, 0.018) 10px); |
| opacity: 0.72; |
| transform: translateX(-45%); |
| animation: compiler-sheen 8s ease-in-out infinite; |
| } |
|
|
| .compiler-panel { |
| box-shadow: |
| inset 0 1px 0 rgba(255, 255, 255, 0.06), |
| inset 0 -1px 0 rgba(255, 255, 255, 0.03), |
| 0 24px 70px rgba(0, 0, 0, 0.32); |
| } |
|
|
| .compiler-pulse { |
| animation: compiler-pulse 1.9s ease-in-out infinite; |
| } |
|
|
| .compiler-equalizer { |
| display: inline-flex; |
| align-items: end; |
| gap: 4px; |
| height: 34px; |
| } |
|
|
| .compiler-equalizer span { |
| display: block; |
| width: 6px; |
| height: 14px; |
| border-radius: 999px; |
| background: linear-gradient(180deg, #67e8f9, #34d399); |
| box-shadow: 0 0 18px rgba(45, 212, 191, 0.35); |
| animation: compiler-equalizer 0.82s ease-in-out infinite; |
| } |
|
|
| .compiler-equalizer span:nth-child(2) { |
| animation-delay: 0.1s; |
| } |
|
|
| .compiler-equalizer span:nth-child(3) { |
| animation-delay: 0.2s; |
| } |
|
|
| .compiler-equalizer span:nth-child(4) { |
| animation-delay: 0.3s; |
| } |
|
|
| @keyframes compiler-grid-drift { |
| 0% { |
| background-position: 0 0, 0 0, 0 0; |
| } |
| 100% { |
| background-position: 0 0, 72px 72px, 72px 72px; |
| } |
| } |
|
|
| @keyframes compiler-sheen { |
| 0%, 28% { |
| transform: translateX(-45%); |
| opacity: 0.28; |
| } |
| 55% { |
| transform: translateX(45%); |
| opacity: 0.75; |
| } |
| 100% { |
| transform: translateX(45%); |
| opacity: 0.28; |
| } |
| } |
|
|
| @keyframes compiler-pulse { |
| 0%, 100% { |
| opacity: 0.65; |
| transform: scale(0.9); |
| box-shadow: 0 0 0 0 rgba(94, 234, 212, 0.34); |
| } |
| 50% { |
| opacity: 1; |
| transform: scale(1); |
| box-shadow: 0 0 0 8px rgba(94, 234, 212, 0); |
| } |
| } |
|
|
| @keyframes compiler-equalizer { |
| 0%, 100% { |
| height: 12px; |
| opacity: 0.55; |
| } |
| 50% { |
| height: 34px; |
| opacity: 1; |
| } |
| } |
|
|
| .company-logo-icon { |
| background: transparent; |
| filter: |
| drop-shadow(0 1px 1px rgba(255, 255, 255, 0.38)) |
| drop-shadow(0 0 7px rgba(34, 211, 238, 0.16)); |
| } |
|
|
| .company-logo-mark:hover .company-logo-icon { |
| animation: company-logo-breathe 1.6s ease-in-out infinite; |
| will-change: filter, opacity; |
| } |
|
|
| @keyframes company-logo-float { |
| 0%, 100% { |
| transform: translateY(0); |
| } |
| 50% { |
| transform: translateY(-3px); |
| } |
| } |
|
|
| @keyframes company-logo-breathe { |
| 0%, 100% { |
| opacity: 0.88; |
| filter: |
| drop-shadow(0 1px 1px rgba(255, 255, 255, 0.34)) |
| drop-shadow(0 0 5px rgba(34, 211, 238, 0.10)); |
| } |
| 50% { |
| opacity: 1; |
| filter: |
| drop-shadow(0 1px 2px rgba(255, 255, 255, 0.52)) |
| drop-shadow(0 0 10px rgba(34, 211, 238, 0.26)); |
| } |
| } |
| } |
|
|
|
|
| .no-scrollbar::-webkit-scrollbar { display: none; } |
| .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; } |
|
|
| |
| |
| body.scrollbar-inactive *::-webkit-scrollbar-thumb { |
| background: transparent !important; |
| transition: background 0.5s ease; |
| } |
| body.scrollbar-inactive * { |
| scrollbar-color: transparent transparent; |
| } |
|
|