html { scroll-behavior: smooth; }
body { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0b0f19; }
::-webkit-scrollbar-thumb { background: #2a3348; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #3a4560; }

.dropzone { transition: all .15s ease; }
.dropzone.drag-over { background-color: rgba(99,102,241,0.08); border-color: #6366f1; }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-chevron { transform: rotate(180deg); }

.spinner {
  border: 3px solid #232c3f;
  border-top-color: #6366f1;
  border-radius: 9999px;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.fade-in { animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px);} to { opacity: 1; transform: translateY(0);} }

.toast { animation: toastIn .2s ease, toastOut .2s ease 2.8s forwards; }
@keyframes toastIn { from { opacity:0; transform: translateY(10px);} to {opacity:1; transform: translateY(0);} }
@keyframes toastOut { to { opacity:0; transform: translateY(10px);} }

/* File list */
.file-row { transition: background-color .12s ease; }
.order-btn:disabled { opacity: 0.3; cursor: not-allowed; }
