| @import "tailwindcss"; |
| @import "tw-animate-css"; |
|
|
| @source inline("lg:col-span-4 lg:col-span-5 lg:col-span-6 lg:col-span-7 lg:col-span-8 lg:col-span-12"); |
|
|
| @custom-variant dark (&:is(.dark *)); |
|
|
| |
| |
| |
| |
| |
|
|
| :root { |
| --radius: 0.625rem; |
|
|
| |
| --background: oklch(0.145 0.006 264); |
| --foreground: oklch(0.93 0.004 264); |
| --card: oklch(0.185 0.007 264); |
| --card-foreground: oklch(0.93 0.004 264); |
| --popover: oklch(0.205 0.008 264); |
| --popover-foreground: oklch(0.93 0.004 264); |
|
|
| |
| --primary: oklch(0.885 0.19 122); |
| --primary-foreground: oklch(0.18 0.03 130); |
|
|
| --secondary: oklch(0.235 0.008 264); |
| --secondary-foreground: oklch(0.93 0.004 264); |
| --muted: oklch(0.235 0.008 264); |
| --muted-foreground: oklch(0.64 0.012 264); |
| --accent: oklch(0.235 0.008 264); |
| --accent-foreground: oklch(0.93 0.004 264); |
|
|
| |
| --destructive: oklch(0.637 0.21 25.3); |
| --destructive-foreground: oklch(0.97 0.01 20); |
| --warning: oklch(0.79 0.15 78); |
| --warning-foreground: oklch(0.2 0.03 78); |
| --info: oklch(0.78 0.12 222); |
| --info-foreground: oklch(0.18 0.03 240); |
|
|
| --border: oklch(1 0 0 / 8%); |
| --input: oklch(1 0 0 / 12%); |
| --ring: oklch(0.885 0.19 122 / 55%); |
|
|
| |
| --font-display: "Clash Display", ui-sans-serif, system-ui, sans-serif; |
| --font-sans: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif; |
| --font-mono: "JetBrains Mono", ui-monospace, monospace; |
| } |
|
|
| @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-warning: var(--warning); |
| --color-warning-foreground: var(--warning-foreground); |
| --color-info: var(--info); |
| --color-info-foreground: var(--info-foreground); |
| --color-border: var(--border); |
| --color-input: var(--input); |
| --color-ring: var(--ring); |
|
|
| --font-display: var(--font-display); |
| --font-sans: var(--font-sans); |
| --font-mono: var(--font-mono); |
|
|
| --radius-sm: calc(var(--radius) - 4px); |
| --radius-md: calc(var(--radius) - 2px); |
| --radius-lg: var(--radius); |
| --radius-xl: calc(var(--radius) + 4px); |
| } |
|
|
| @layer base { |
| * { |
| border-color: var(--color-border); |
| } |
|
|
| html { |
| -webkit-font-smoothing: antialiased; |
| text-rendering: optimizeLegibility; |
| } |
|
|
| body { |
| margin: 0; |
| min-height: 100vh; |
| background-color: var(--color-background); |
| color: var(--color-foreground); |
| font-family: var(--font-sans); |
| font-feature-settings: "ss01", "cv01", "tnum"; |
| |
| background-image: |
| radial-gradient( |
| 90rem 60rem at 82% -10%, |
| oklch(0.885 0.19 122 / 0.07), |
| transparent 60% |
| ), |
| radial-gradient( |
| 70rem 50rem at -10% 110%, |
| oklch(0.78 0.12 222 / 0.06), |
| transparent 55% |
| ), |
| linear-gradient( |
| to right, |
| oklch(1 0 0 / 0.018) 1px, |
| transparent 1px |
| ), |
| linear-gradient( |
| to bottom, |
| oklch(1 0 0 / 0.018) 1px, |
| transparent 1px |
| ); |
| background-size: 100% 100%, 100% 100%, 56px 56px, 56px 56px; |
| background-attachment: fixed; |
| } |
|
|
| ::selection { |
| background: oklch(0.885 0.19 122 / 0.28); |
| } |
|
|
| |
| ::-webkit-scrollbar { width: 10px; height: 10px; } |
| ::-webkit-scrollbar-thumb { |
| background: oklch(1 0 0 / 0.1); |
| border-radius: 999px; |
| border: 2px solid transparent; |
| background-clip: content-box; |
| } |
| ::-webkit-scrollbar-thumb:hover { background: oklch(1 0 0 / 0.18); background-clip: content-box; } |
| } |
|
|
| @layer utilities { |
| .font-display { font-family: var(--font-display); } |
| .text-balance { text-wrap: balance; } |
|
|
| |
| .signal-dot { |
| box-shadow: 0 0 0 0 var(--color-primary); |
| animation: signal-pulse 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite; |
| } |
| @keyframes signal-pulse { |
| 0% { box-shadow: 0 0 0 0 oklch(0.885 0.19 122 / 0.5); } |
| 70% { box-shadow: 0 0 0 8px oklch(0.885 0.19 122 / 0); } |
| 100% { box-shadow: 0 0 0 0 oklch(0.885 0.19 122 / 0); } |
| } |
|
|
| |
| .reveal { |
| opacity: 0; |
| animation: reveal-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards; |
| } |
| @keyframes reveal-up { |
| from { opacity: 0; transform: translateY(12px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
|
|
| .hairline { |
| background-image: linear-gradient(to right, transparent, var(--color-border), transparent); |
| } |
| } |
|
|