/* Rules page specific styles — keeps consistency with base.css and avoids duplication */

/* Table of contents card */
.toc-list { display: grid; grid-template-columns: 1fr; gap: var(--space-2); margin: 0; padding-left: 0; list-style: none; }
.toc-list a { display: inline-block; padding: var(--space-1) 0; }

/* Figures for contextual images */
.rule-figure { margin-top: var(--space-5); }
.rule-figure img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); border: 1px solid rgba(50,50,50,0.08); }

/* Character grid */
.grid-characters { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 48rem) { .grid-characters { grid-template-columns: repeat(3, 1fr); } }

/* Rulebook actions */
.rulebook-actions .btn { min-width: 12rem; }

/* FAQ */
[data-faq] details { background: var(--color-surface); border: 1px solid rgba(50,50,50,0.08); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); box-shadow: var(--shadow-sm); }
[data-faq] details + details { margin-top: var(--space-3); }
[data-faq] summary { cursor: pointer; font-weight: 600; font-family: var(--font-sans); }
[data-faq] summary:focus-visible { outline: 2px solid var(--focus-color); outline-offset: 2px; }
.faq-controls { margin-top: calc(-1 * var(--space-2)); }

/* Glossary */
.glossary { columns: 1; column-gap: var(--space-8); }
.glossary dt { font-weight: 700; font-family: var(--font-display); margin-top: var(--space-3); }
.glossary dd { margin-left: 0; color: var(--gray-800); }
@media (min-width: 56rem) { .glossary { columns: 2; } }

/* Minor ornament for section headings */
.heading-rule { scroll-margin-top: 6rem; }
