:root {
  --primary: #4A90E2;
  --accent: #50C878;
  --bg: #F8F9FA;
}

html { font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif; }

body { font-feature-settings: "ss01", "tnum"; }

[x-cloak] { display: none !important; }

/* Progress bar smooth animation */
.progress-bar {
  transition: width 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Todo completed state — strikethrough animation */
.todo-title {
  position: relative;
  display: inline-block;
  color: #0f172a;
  transition: color 350ms ease;
}
.todo-title::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 1.5px;
  background-color: #94a3b8;
  transition: width 380ms cubic-bezier(0.65, 0, 0.35, 1);
}
.is-completed .todo-title {
  color: #94a3b8;
}
.is-completed .todo-title::after {
  width: 100%;
}

.is-completed {
  background-color: #fafbfc;
}

/* Checkmark pop-in */
@keyframes checkPop {
  0%   { transform: scale(0); opacity: 0; }
  60%  { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
.checkmark {
  animation: checkPop 280ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Hide scrollbar on filter tabs */
section[aria-label="필터"] .overflow-x-auto::-webkit-scrollbar { display: none; }
section[aria-label="필터"] .overflow-x-auto { scrollbar-width: none; }

@media (prefers-reduced-motion: reduce) {
  .progress-bar, .todo-title, .todo-title::after, .checkmark {
    transition: none !important;
    animation: none !important;
  }
}
</style>
