/* /docs — page-specific only; colours and fonts come from /shared/base.css tokens. */
.masthead { padding: 40px 0 8px; }
.masthead h1 { font-size: clamp(30px, 5vw, 42px); line-height: 1.12; margin: 8px 0 14px; }
.masthead .lead { font-size: 19px; color: var(--ink-2); max-width: var(--measure); }
.masthead .notice { margin-top: 16px; max-width: var(--measure); }
.toc { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 20px; font-family: var(--f-mono); font-size: 12.5px; border-top: 1px solid var(--rule); padding-top: 10px; }
.toc a { color: var(--ink-2); text-decoration: none; }
.toc a:hover { color: var(--ink); text-decoration: underline; }
.prose h3 { margin-top: 1.4em; }
.prose h3 + p { margin-top: .3em; }
.prose pre.well { position: relative; }
.prose pre.well[data-copyable] { padding-right: 52px; }
.copy-btn { position: absolute; top: 8px; right: 8px; }
.kv { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 16px; margin: 0; font-family: var(--f-mono); font-size: 12.5px; }
.kv dt { color: var(--ink-3); text-transform: uppercase; letter-spacing: .1em; font-size: 10.5px; padding-top: 2px; }
.kv dd { margin: 0; overflow-wrap: anywhere; }
.prose ul { margin: 8px 0 0; }
.warnbox ul { margin-top: 8px; }
#rules-table td:nth-child(3) { white-space: normal; color: var(--ink-2); }
#rules-table td:first-child { font-weight: 500; }
:target { scroll-margin-top: 16px; }
