@tailwind base; @tailwind components; @tailwind utilities; @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin: 0; padding: 0; min-height: 100vh; min-height: 100dvh; /* Dynamic viewport height for mobile */ overflow: hidden; } /* Mobile viewport fixes */ html { height: 100%; height: 100dvh; /* Dynamic viewport height for mobile */ } #root { height: 100%; height: 100dvh; /* Dynamic viewport height for mobile */ } /* Custom animations and utilities for weather app */ @layer utilities { .animate-fade-in { animation: fadeIn 0.5s ease-in-out; } .animate-slide-up { animation: slideUp 0.3s ease-out; } .animate-bounce-gentle { animation: bounceGentle 2s infinite; } } /* Smooth scrolling for any scrollable content */ * { scroll-behavior: smooth; } /* Custom scrollbar styling */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.1); border-radius: 3px; } ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.3); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.5); }