.toc { background: var(--card); border-radius: 12px; padding: 10px 14px; margin: 0 0 18px; font-size: 15px; }
.toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 24px; }
@media (max-width: 520px) { .toc ol { columns: 1; } }
section { scroll-margin-top: 64px; }
ol.steps, ul.steps { padding-left: 22px; }
ol.steps li, ul.steps li { margin: 0 0 8px; }
.shots { display: flex; gap: 12px; overflow-x: auto; padding: 4px 2px 10px; scroll-snap-type: x mandatory; }
.shots figure { flex: 0 0 min(260px, 72vw); margin: 0; scroll-snap-align: start; }
.shots img { width: 100%; height: auto; border-radius: 16px; border: 2px solid var(--line); box-shadow: 0 6px 18px rgba(0,0,0,.35); background: #0e1535; }
.shots figcaption { font-size: 14px; color: var(--muted); margin-top: 6px; line-height: 1.5; }
