:root {
  --background: #f8fafc;
  --foreground: #0f172a;
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: "Space Grotesk", sans-serif;
}

/* Nested <tbody> created by HTMX OOB <table> wrapper for load-more rows.
   display:contents makes the inner tbody invisible to layout so <tr>
   elements render as if they were direct children of the outer tbody. */
#tx-desktop-body > tbody {
  display: contents !important;
}

code,
.font-mono {
  font-family: "IBM Plex Mono", monospace;
}

@media print {
  a,
  button {
    display: none !important;
  }
}

/* ── Success confirmation micro-animations (A3) ─────────── */
@keyframes sily-draw { to { stroke-dashoffset: 0; } }
@keyframes sily-pop {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.success-pop { animation: sily-pop 0.35s ease-out; }
.check-draw circle {
  stroke-dasharray: 150;
  stroke-dashoffset: 150;
  animation: sily-draw 0.5s ease-out forwards;
}
.check-draw path {
  stroke-dasharray: 40;
  stroke-dashoffset: 40;
  animation: sily-draw 0.35s ease-out 0.3s forwards;
}
