body { font-size: 0.92rem; }

.tracking-wide { letter-spacing: 0.05em; }

.star { font-size: 1.1rem; cursor: pointer; transition: color 0.1s; user-select: none; }
.star:hover, .star.hover { color: #ffc107 !important; }

.item-check { cursor: pointer; width: 1.1em; height: 1.1em; }

.comment-display { cursor: pointer; }
.comment-display:hover { text-decoration: underline; }

.border-dashed { border-style: dashed !important; border-color: #dee2e6 !important; }

.transition-width { transition: width 0.4s ease; }

.progress { border-radius: 6px; }

.font-monospace { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85em; }

.btn-xs { font-size: 0.75rem; padding: 0.1rem 0.4rem; }

.table > :not(caption) > * > * { padding: 0.45rem 0.6rem; }

.card-header { font-size: 0.88rem; }

.sticky-top { position: sticky; top: 0; z-index: 1; }

#main-progress-bar { min-width: 2px; }

@media print {
  .navbar, .btn, button, .add-comment-link, .comment-editor { display: none !important; }
  .card { border: 1px solid #ccc !important; box-shadow: none !important; }
}
