| 1 | @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"); |
| 2 | |
| 3 | @tailwind base; |
| 4 | @tailwind components; |
| 5 | @tailwind utilities; |
| 6 | |
| 7 | /* RTL Support */ |
| 8 | [dir="rtl"] { |
| 9 | direction: rtl; |
| 10 | } |
| 11 | |
| 12 | [dir="ltr"] { |
| 13 | direction: ltr; |
| 14 | } |
| 15 | |
| 16 | /* RTL-specific adjustments */ |
| 17 | [dir="rtl"] .space-x-reverse > * + * { |
| 18 | margin-right: var(--tw-space-x-reverse); |
| 19 | margin-left: calc(var(--tw-space-x-reverse) * 0); |
| 20 | } |
| 21 | |
| 22 | ::-webkit-scrollbar { |
| 23 | width: 0px; |
| 24 | display: none; |
| 25 | } |
| 26 | |
| 27 | /* Disable zoom */ |
| 28 | :root { |
| 29 | touch-action: pan-x pan-y; |
| 30 | height: 100%; |
| 31 | } |
| 32 | |
| 33 | /* Safe Area Support */ |
| 34 | .safe-area { |
| 35 | padding-top: env(safe-area-inset-top); |
| 36 | padding-bottom: env(safe-area-inset-bottom); |
| 37 | padding-left: env(safe-area-inset-left); |
| 38 | padding-right: env(safe-area-inset-right); |
| 39 | } |
| 40 | |
| 41 | .top-nav-safe { |
| 42 | padding-top: max(0.5rem, env(safe-area-inset-top)); |
| 43 | } |
| 44 | |
| 45 | /* Optional: Give bottom nav extra safe-area padding */ |
| 46 | .bottom-nav-safe { |
| 47 | padding-bottom: max(0.5rem, env(safe-area-inset-bottom)); |
| 48 | } |
| 49 | |
| 50 | /* Animations */ |
| 51 | @layer utilities { |
| 52 | .fade-in { |
| 53 | animation: fadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1); |
| 54 | } |
| 55 | @keyframes fadeIn { |
| 56 | from { |
| 57 | opacity: 0; |
| 58 | transform: translateY(12px); |
| 59 | } |
| 60 | to { |
| 61 | opacity: 1; |
| 62 | transform: translateY(0); |
| 63 | } |
| 64 | } |
| 65 | .wiggle { |
| 66 | animation: wiggle 0.25s linear; |
| 67 | } |
| 68 | @keyframes wiggle { |
| 69 | 0% { |
| 70 | transform: rotate(-2deg); |
| 71 | } |
| 72 | 25% { |
| 73 | transform: rotate(2deg); |
| 74 | } |
| 75 | 50% { |
| 76 | transform: rotate(-2deg); |
| 77 | } |
| 78 | 75% { |
| 79 | transform: rotate(2deg); |
| 80 | } |
| 81 | 100% { |
| 82 | transform: rotate(0); |
| 83 | } |
| 84 | } |
| 85 | } |
| 86 | |
| 87 | @layer base { |
| 88 | :root { |
| 89 | --background: 0 0% 100%; |
| 90 | --foreground: 220 26% 14%; |
| 91 | |
| 92 | --card: 0 0% 100%; |
| 93 | --card-foreground: 220 26% 14%; |
| 94 | |
| 95 | --popover: 0 0% 100%; |
| 96 | --popover-foreground: 220 26% 14%; |
| 97 | |
| 98 | /* Wise signature lime green */ |
| 99 | --primary: 93 72% 67%; |
| 100 | --primary-foreground: 220 26% 14%; |
| 101 | |
| 102 | /* Dark navy */ |
| 103 | --secondary: 220 26% 14%; |
| 104 | --secondary-foreground: 0 0% 100%; |
| 105 | |
| 106 | --muted: 220 14% 96%; |
| 107 | --muted-foreground: 220 13% 46%; |
| 108 | |
| 109 | --accent: 93 72% 67%; |
| 110 | --accent-foreground: 220 26% 14%; |
| 111 | |
| 112 | --destructive: 0 84% 60%; |
| 113 | --destructive-foreground: 0 0% 100%; |
| 114 | |
| 115 | --border: 220 13% 91%; |
| 116 | --input: 220 13% 91%; |
| 117 | --ring: 93 72% 67%; |
| 118 | |
| 119 | --radius: 0.75rem; |
| 120 | |
| 121 | /* Custom colors */ |
| 122 | --navy: 220 26% 14%; |
| 123 | --navy-light: 220 20% 20%; |
| 124 | --lime: 93 72% 67%; |
| 125 | --lime-dark: 93 60% 55%; |
| 126 | --gray-warm: 220 14% 96%; |
| 127 | } |
| 128 | |
| 129 | .dark { |
| 130 | --background: 220 26% 14%; |
| 131 | --foreground: 0 0% 98%; |
| 132 | |
| 133 | --card: 220 20% 18%; |
| 134 | --card-foreground: 0 0% 98%; |
| 135 | |
| 136 | --popover: 220 20% 18%; |
| 137 | --popover-foreground: 0 0% 98%; |
| 138 | |
| 139 | --primary: 93 72% 67%; |
| 140 | --primary-foreground: 220 26% 14%; |
| 141 | |
| 142 | --secondary: 220 20% 22%; |
| 143 | --secondary-foreground: 0 0% 98%; |
| 144 | |
| 145 | --muted: 220 20% 22%; |
| 146 | --muted-foreground: 220 13% 65%; |
| 147 | |
| 148 | --accent: 93 72% 67%; |
| 149 | --accent-foreground: 220 26% 14%; |
| 150 | |
| 151 | --destructive: 0 62% 30%; |
| 152 | --destructive-foreground: 0 0% 98%; |
| 153 | |
| 154 | --border: 220 20% 22%; |
| 155 | --input: 220 20% 22%; |
| 156 | --ring: 93 72% 67%; |
| 157 | } |
| 158 | } |
| 159 | |
| 160 | @layer base { |
| 161 | * { |
| 162 | @apply border-border; |
| 163 | } |
| 164 | |
| 165 | body { |
| 166 | @apply bg-background text-foreground; |
| 167 | } |
| 168 | } |