* { scrollbar-width: thin; scrollbar-color: #94a3b8 transparent; }
.icon-button { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:.75rem; border:1px solid rgb(226 232 240); background:rgb(255 255 255); color:rgb(71 85 105); transition:.2s ease; }
.icon-button:hover { color:rgb(15 23 42); border-color:rgb(203 213 225); transform:translateY(-1px); }
.icon-button:active { transform:scale(.94); }
.icon-button:disabled { cursor:not-allowed; transform:none; }
#refreshButton:not(:disabled):hover svg { transform:rotate(35deg); }
#themeButton:hover svg { transform:rotate(10deg) scale(1.08); }
.icon-button svg { transition:transform .2s ease; }
.form-control { width:100%; border-radius:.75rem; border:1px solid rgb(203 213 225); background:rgb(255 255 255); padding:.65rem .85rem; color:rgb(15 23 42); outline:none; transition:.2s ease; }
.form-control:focus { border-color:rgb(21 173 122); box-shadow:0 0 0 3px rgba(21,173,122,.14); }
.dark .icon-button,.dark .form-control { border-color:rgb(51 65 85); background:rgb(15 23 42); color:rgb(226 232 240); }
.dark .icon-button:hover { border-color:rgb(71 85 105); color:white; }
.skeleton { background:linear-gradient(90deg,rgba(148,163,184,.12) 25%,rgba(148,163,184,.24) 50%,rgba(148,163,184,.12) 75%); background-size:200% 100%; animation:shimmer 1.4s infinite; }
@keyframes shimmer { to { background-position:-200% 0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
