| @import "tailwindcss"; |
|
|
| @theme { |
| --color-urban-primary: #0ea5a4; |
| --color-urban-secondary: #f59e0b; |
| --color-urban-cta: #0f172a; |
| --color-urban-bg: #f6f7fb; |
| --color-urban-text: #0f172a; |
|
|
| --color-slate-50: #f8fafc; |
| --color-slate-100: #f1f5f9; |
| --color-slate-200: #e2e8f0; |
| --color-slate-300: #cbd5e1; |
| --color-slate-400: #94a3b8; |
| --color-slate-500: #64748b; |
| --color-slate-600: #475569; |
| --color-slate-700: #334155; |
| --color-slate-800: #1e293b; |
| --color-slate-900: #0f172a; |
| --color-slate-950: #020617; |
|
|
| --font-fira-code: "Fira Code", monospace; |
| --font-fira-sans: "Fira Sans", sans-serif; |
|
|
| --shadow-urban-sm: 0 1px 2px rgba(0, 0, 0, 0.05); |
| --shadow-urban-md: 0 4px 6px rgba(0, 0, 0, 0.1); |
| --shadow-urban-lg: 0 10px 15px rgba(0, 0, 0, 0.1); |
| --shadow-urban-xl: 0 20px 25px rgba(0, 0, 0, 0.15); |
| } |
|
|
| :root { |
| --background: var(--color-urban-bg); |
| --foreground: var(--color-urban-text); |
| --primary: var(--color-urban-primary); |
| --secondary: var(--color-urban-secondary); |
| --cta: var(--color-urban-cta); |
| } |
|
|
| body { |
| background: |
| radial-gradient( |
| 1200px 600px at 10% -10%, |
| rgba(14, 165, 164, 0.18), |
| transparent 60% |
| ), |
| radial-gradient( |
| 1000px 500px at 90% -20%, |
| rgba(245, 158, 11, 0.18), |
| transparent 55% |
| ), |
| radial-gradient( |
| 800px 400px at 50% 100%, |
| rgba(59, 130, 246, 0.12), |
| transparent 55% |
| ), |
| var(--background); |
| color: var(--foreground); |
| font-family: var(--font-fira-sans); |
| } |
|
|
| h1, |
| h2, |
| h3, |
| h4, |
| h5, |
| h6 { |
| font-family: var(--font-fira-code); |
| } |
|
|
| input, |
| select, |
| textarea { |
| border-width: 1px; |
| border-color: var(--color-slate-300); |
| outline: none; |
| font-family: var(--font-fira-sans); |
| border-radius: 8px; |
| padding: 12px 16px; |
| transition: border-color 0.2s; |
| } |
|
|
| input:focus, |
| select:focus, |
| textarea:focus { |
| border-color: var(--primary); |
| box-shadow: 0 0 0 3px rgba(14, 165, 164, 0.12); |
| } |
|
|
| ::selection { |
| background: rgba(14, 165, 164, 0.2); |
| color: #0f172a; |
| } |
|
|
| .bg-mesh { |
| background-image: |
| radial-gradient( |
| circle at 20% 20%, |
| rgba(14, 165, 164, 0.2), |
| transparent 45% |
| ), |
| radial-gradient( |
| circle at 80% 10%, |
| rgba(245, 158, 11, 0.18), |
| transparent 45% |
| ), |
| radial-gradient( |
| circle at 30% 80%, |
| rgba(59, 130, 246, 0.15), |
| transparent 45% |
| ); |
| } |
|
|
| .bg-grid { |
| background-image: |
| linear-gradient(rgba(15, 23, 42, 0.04) 1px, transparent 1px), |
| linear-gradient(90deg, rgba(15, 23, 42, 0.04) 1px, transparent 1px); |
| background-size: 32px 32px; |
| } |
|
|
| .glass-panel { |
| background: rgba(255, 255, 255, 0.75); |
| backdrop-filter: blur(18px); |
| border: 1px solid rgba(148, 163, 184, 0.25); |
| } |
|
|
| .fade-up { |
| animation: fadeUp 0.7s ease-out both; |
| } |
|
|
| .float-slow { |
| animation: floatSlow 6s ease-in-out infinite; |
| } |
|
|
| @keyframes fadeUp { |
| from { |
| opacity: 0; |
| transform: translateY(18px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| @keyframes floatSlow { |
| 0%, |
| 100% { |
| transform: translateY(0); |
| } |
| 50% { |
| transform: translateY(-10px); |
| } |
| } |
|
|