@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-var.woff2') format('woff2');
}

* { transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, opacity .15s ease, transform .15s ease; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(156, 163, 175, 0.35); border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(156, 163, 175, 0.55); }

@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fadeIn .2s ease-out; }

@keyframes modalPop { from { opacity: 0; transform: scale(.97) translateY(6px); } to { opacity: 1; transform: scale(1) translateY(0); } }
.modal-backdrop .modal-panel { animation: modalPop .18s ease-out; }

.modal-backdrop { backdrop-filter: blur(4px); }

/* Print: only the .printable area (or full body if none marked) is shown */
@media print {
  body { background: #fff !important; }
  .print\:hidden { display: none !important; }
  aside, header, nav { display: none !important; }
  main { padding: 0 !important; max-width: 100% !important; }
  .printable { box-shadow: none !important; border: none !important; }
}
