:root {
    -webkit-tap-highlight-color: transparent;
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html, body {
    overscroll-behavior-y: contain;
}

/* Hide scrollbar on mobile for app-like feel */
@media (max-width: 768px) {
    ::-webkit-scrollbar { display: none; }
    body { -ms-overflow-style: none; scrollbar-width: none; }
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Space for mobile bottom nav + safe area */
.mobile-safe-bottom {
    padding-bottom: calc(6rem + env(safe-area-inset-bottom, 0px));
}

/* Subtle page fade-in for app-like transitions */
@keyframes appFadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}
main {
    animation: appFadeIn 0.18s ease-out;
}

/* Line clamp helper (Tailwind has this but safe fallback) */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}