body { font-family: 'Hiragino Sans', 'Yu Gothic', sans-serif; }

.chat-bubble-user {
  background: #3B82F6;
  color: white;
  border-radius: 18px 18px 4px 18px;
}
.chat-bubble-ai {
  background: #F3F4F6;
  color: #1F2937;
  border-radius: 18px 18px 18px 4px;
}
.task-card { transition: all 0.2s ease; }
.task-card:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.priority-high { border-left: 4px solid #EF4444; }
.priority-medium { border-left: 4px solid #F59E0B; }
.priority-low { border-left: 4px solid #10B981; }
.badge-deadline { background: #FEE2E2; color: #991B1B; }
.badge-check { background: #FEF3C7; color: #92400E; }
.badge-work { background: #DBEAFE; color: #1E40AF; }
#chat-messages { scroll-behavior: smooth; }

.slide-in { animation: slideIn 0.3s ease; }
@keyframes slideIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.notification-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #EF4444;
  color: white;
  border-radius: 9999px;
  font-size: 10px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

textarea:focus { outline: none; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3); }

.typing-indicator span {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #9CA3AF;
  border-radius: 50%;
  margin: 0 2px;
  animation: bounce 1.4s infinite ease-in-out;
}
.typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
.typing-indicator span:nth-child(3) { animation-delay: 0.4s; }
@keyframes bounce {
  0%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-8px); }
}

.add-task-btn:disabled {
  pointer-events: none;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #F3F4F6; }
::-webkit-scrollbar-thumb { background: #D1D5DB; border-radius: 3px; }
