@import "tailwindcss"; :root { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.5; font-weight: 400; /* Safe area insets for notched devices (iPhone X+) */ --safe-area-inset-top: env(safe-area-inset-top, 0px); --safe-area-inset-right: env(safe-area-inset-right, 0px); --safe-area-inset-bottom: env(safe-area-inset-bottom, 0px); --safe-area-inset-left: env(safe-area-inset-left, 0px); /* Mobile-specific spacing */ --mobile-header-height: 56px; --mobile-bottom-toolbar-height: 56px; --touch-target-min: 44px; } body { margin: 0; min-width: 320px; min-height: 100vh; /* Prevent pull-to-refresh on mobile */ overscroll-behavior-y: contain; } #root { min-height: 100vh; } /* Utility class for safe area padding */ .safe-area-bottom { padding-bottom: max(var(--safe-area-inset-bottom), 16px); } .safe-area-top { padding-top: max(var(--safe-area-inset-top), 0px); } /* Touch-friendly minimum size utility */ .touch-target { min-width: var(--touch-target-min); min-height: var(--touch-target-min); } /* Prevent text selection on touch for UI elements */ .no-select { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; } /* Smooth transitions for layout changes */ @media (prefers-reduced-motion: no-preference) { .transition-layout { transition: all 0.3s ease-in-out; } }