| |
| |
| |
| @tailwind base; |
| @tailwind components; |
| @tailwind utilities; |
|
|
|
|
| |
| |
| |
| :root { |
| font-family: -apple-system, BlinkMacSystemFont, |
| "Segoe UI", Roboto, Helvetica, Arial, sans-serif; |
| } |
|
|
|
|
| |
| |
| |
| html, |
| body, |
| #root { |
| height: 100%; |
| } |
|
|
| body { |
| margin: 0; |
| } |
|
|
|
|
| |
| |
| |
| .leaflet-container { |
| width: 100%; |
| height: 100%; |
| z-index: 0; |
| background-color: #0f172a; |
| font-family: inherit; |
| } |
|
|
|
|
| |
| |
| |
| .leaflet-popup-content-wrapper { |
| background: rgba(30, 41, 59, 0.95); |
| backdrop-filter: blur(8px); |
| color: white; |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 12px; |
| box-shadow: |
| 0 10px 15px -3px rgba(0, 0, 0, 0.5); |
| } |
|
|
| .leaflet-popup-tip { |
| background: rgba(30, 41, 59, 0.95); |
| } |
|
|
| .leaflet-popup-close-button { |
| color: #94a3b8 !important; |
| } |
|
|
|
|
| |
| |
| |
| ::-webkit-scrollbar { |
| width: 6px; |
| height: 6px; |
| } |
|
|
| ::-webkit-scrollbar-track { |
| background: #0f172a; |
| } |
|
|
| ::-webkit-scrollbar-thumb { |
| background: #334155; |
| border-radius: 4px; |
| } |
|
|
| ::-webkit-scrollbar-thumb:hover { |
| background: #475569; |
| } |
|
|
|
|
| |
| |
| |
| .ios-marker { |
| background-color: #007AFF; |
| border: 3px solid white; |
| border-radius: 50%; |
| box-shadow: 0 2px 6px rgba(0,0,0,0.3); |
| } |
|
|
| .ios-marker-ring { |
| position: absolute; |
| top: -20px; |
| left: -20px; |
| width: 60px; |
| height: 60px; |
| background-color: rgba(0, 122, 255, 0.4); |
| border-radius: 50%; |
| animation: pulse-blue 2s infinite; |
| pointer-events: none; |
| } |
|
|
| @keyframes pulse-blue { |
| 0% { |
| transform: scale(0.5); |
| opacity: 1; |
| } |
| 100% { |
| transform: scale(1.2); |
| opacity: 0; |
| } |
| } |
|
|
|
|
| |
| |
| |
|
|
| |
| @keyframes slide-up { |
| from { transform: translateY(100%); } |
| to { transform: translateY(0); } |
| } |
|
|
| .animate-slide-up { |
| animation: slide-up 0.4s |
| cubic-bezier(0.16, 1, 0.3, 1) forwards; |
| } |
|
|
| |
| @keyframes fade-in { |
| from { |
| opacity: 0; |
| transform: translateY(-10px); |
| } |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
|
|
| .animate-fade-in { |
| animation: fade-in 0.5s ease-out forwards; |
| } |
|
|
|
|
| |
| |
| |
| .glow-point { |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| animation: breathe 3s infinite ease-in-out; |
| } |
|
|
| .glow-core { |
| width: 12px; |
| height: 12px; |
| border-radius: 50%; |
| box-shadow: 0 0 10px rgba(255,255,255,0.8); |
| } |
|
|
| @keyframes breathe { |
| 0% { transform: scale(1); opacity: 0.8; } |
| 50% { transform: scale(1.2); opacity: 1; } |
| 100% { transform: scale(1); opacity: 0.8; } |
| } |
|
|
|
|
| |
| |
| |
| .leaflet-tooltip { |
| pointer-events: none !important; |
| } |
|
|