/* Khối Nguyên lý đứng sau (06/10/2026), dùng chung trang dịch vụ (ops/dich-vu-trang.mjs) và trang gói
   (assets/build/chen-nguyen-ly.py). Điều chọn ở hoc-thuyet/lien-ket.json.
   Một hàng một điều, cả hàng là vùng bấm; mã và tầng đứng trên câu tên ở khổ hẹp. */
.sv-nl { list-style: none; margin: var(--space-8) 0 0; padding: 0; border-top: 1px solid var(--border-subtle); }
.sv-nl a { display: grid; grid-template-columns: 3.5rem 6.5rem minmax(0, 1fr) auto; align-items: baseline; gap: 4px 16px; padding: var(--space-4) 0; min-height: 56px; border-bottom: 1px solid var(--border-subtle); text-decoration: none; color: var(--text-primary); transition: color var(--dur-fast) var(--ease-out); }
.sv-nl__ma { font-family: var(--font-heading); font-weight: 600; font-size: 1.1rem; font-variant-numeric: tabular-nums; color: var(--text-primary); }
.sv-nl__tang { font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-secondary); }
.sv-nl__ten { font-family: var(--font-sans); font-size: 16px; line-height: 1.6; max-width: 68ch; text-wrap: pretty; }
.sv-nl i { font-size: 18px; color: var(--text-accent); align-self: center; transition: transform var(--dur-base) var(--ease-out); }
.sv-nl a:hover { color: var(--color-bordeaux); }
.sv-nl a:hover i, .sv-nl__het:hover i { transform: translateX(3px); }
.sv-nl__het { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: var(--space-4); font-family: var(--font-sans); font-size: 15px; font-weight: 600; color: var(--text-accent); text-decoration: none; }
/* Trang gói: đầu khối căn giữa, nên danh sách và lối đọc tiếp cũng đứng giữa. */
.pk-sec-head ~ .sv-nl { max-width: 880px; margin-left: auto; margin-right: auto; }
.pk-sec-head ~ .sv-nl__het { display: flex; width: max-content; margin-left: auto; margin-right: auto; }
@media (max-width: 720px) {
  .sv-nl a { grid-template-columns: 3.5rem minmax(0, 1fr) auto; }
  .sv-nl__ten { grid-column: 1 / 3; grid-row: 2; }
  .sv-nl i { grid-column: 3; grid-row: 1 / 3; }
}
@media (prefers-reduced-motion: reduce) { .sv-nl a, .sv-nl i { transition-duration: 0.001ms; } }
