/* Small, framework-agnostic helpers */
:root { color-scheme: light; }

/* Better focus visibility for keyboard users */
:focus-visible { outline: 2px solid rgb(59 130 246); outline-offset: 2px; }

/* Simple spinner */
@keyframes spin { to { transform: rotate(360deg); } }
.spinner { width: 18px; height: 18px; border-radius: 9999px; border: 2px solid rgba(15, 23, 42, 0.2); border-top-color: rgba(15, 23, 42, 0.8); animation: spin 0.8s linear infinite; }

/* Prevent layout shift for skeletons */
.skeleton { background: linear-gradient(90deg, rgba(15,23,42,0.06), rgba(15,23,42,0.12), rgba(15,23,42,0.06)); background-size: 200% 100%; animation: shimmer 1.2s infinite; border-radius: 0.75rem; }
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
