/* Plain-CSS additions loaded in every mode (CDN and build). */
[x-cloak] { display: none !important; }

html { -webkit-tap-highlight-color: transparent; scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; font-feature-settings: "kern", "liga"; }

.scrollbar-none { scrollbar-width: none; }
.scrollbar-none::-webkit-scrollbar { display: none; }

/* Editorial long-form text */
.article-body p { margin: 0 0 1.05em; }
.article-body p:last-child { margin-bottom: 0; }
.article-body > p:first-of-type::first-letter {
  float: left;
  font-size: 3.35em;
  line-height: 0.82;
  padding: 0.08em 0.1em 0 0;
  font-weight: 600;
  color: var(--accent, #C2361B);
}

/* Numbered references */
.ref-list { counter-reset: ref; }
.ref-list > li { counter-increment: ref; }
.ref-list > li::before { content: counter(ref) "."; font-variant-numeric: tabular-nums; }

.tabular { font-variant-numeric: tabular-nums; }

.skeleton {
  background: linear-gradient(90deg, rgba(161, 157, 146, 0.15) 25%, rgba(161, 157, 146, 0.3) 37%, rgba(161, 157, 146, 0.15) 63%);
  background-size: 400% 100%;
  animation: tf-shimmer 1.4s ease infinite;
}
@keyframes tf-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

@media print {
  header, footer, nav, .no-print { display: none !important; }
  body { background: #fff !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
