/* Safe area insets for mobile PWA */
.safe-area-pt { padding-top: env(safe-area-inset-top, 0px); }
.safe-area-pb { padding-bottom: env(safe-area-inset-bottom, 0px); }

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #4338ca; border-radius: 3px; }

/* Focus visible */
*:focus-visible { outline: 2px solid #a78bfa; outline-offset: 2px; }

/* Line clamp utility */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* PWA standalone adjustments */
@media (display-mode: standalone) {
  body { -webkit-user-select: none; user-select: none; }
}

/* Disable pull-to-refresh on mobile */
body { overscroll-behavior-y: none; }

/* Voice pulse animation */
@keyframes voice-pulse {
  0% { box-shadow: 0 0 0 0 rgba(167, 139, 250, 0.4); }
  70% { box-shadow: 0 0 0 10px rgba(167, 139, 250, 0); }
  100% { box-shadow: 0 0 0 0 rgba(167, 139, 250, 0); }
}
.recording-pulse { animation: voice-pulse 1.5s infinite; }
