/* Habit Tracker — Utility Classes & Accessibility Rules (css/utilities.css) */

/* Accessibility & Focus Rings */
:focus-visible {
  outline: 2px solid var(--accent-primary, #0A84FF);
  outline-offset: 2px;
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Selective Text Selection for Diary Notes, Inputs, and Details */
.selectable, .diary-item, .diary-note, .diary-card, .habit-detail-card, .lightbox-note, input, textarea {
  user-select: text !important;
  -webkit-user-select: text !important;
}

.no-select {
  user-select: none;
  -webkit-user-select: none;
}

/* Flexbox & Layout Helpers */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.flex-wrap { flex-wrap: wrap; }
.gap-1 { gap: var(--space-1); }
.gap-2 { gap: var(--space-2); }
.gap-3 { gap: var(--space-3); }
.gap-4 { gap: var(--space-4); }

/* Hidden elements */
.hidden {
  display: none !important;
}
