/* Alton Risk — reading aids for long pages (blog posts, glossary terms, legal). Bump ?v=N on every <link> when edited. */
.toc{margin:0 0 32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);}
.toc summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 18px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--accent);}
.toc summary::-webkit-details-marker{display:none;}
.toc summary::after{content:"+";font-size:22px;font-weight:300;line-height:1;}
.toc[open] summary::after{content:"\2212";}
.toc ol{margin:0;padding:0 18px 12px 40px;}
.toc li{margin:0;font-size:15px;line-height:1.45;font-weight:400;color:var(--muted);}
.toc a{display:block;padding:9px 0;color:var(--ink-soft);text-decoration:none;}
.toc a:hover,.toc a.on{color:var(--accent);}
.toc a:focus-visible,.talk-cta a:focus-visible,.talk-cta button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
article h2[id]{scroll-margin-top:84px;}

.talk-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 8px 8px 16px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:rgba(27,7,8,.97);border-top:1px solid var(--border);transform:translateY(110%);transition:transform .25s ease;}
.talk-cta.show{transform:none;}
.talk-cta p{display:none;margin:0;font-size:15px;color:var(--ink-soft);font-weight:400;}
.talk-cta a.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;margin:0;white-space:nowrap;font-size:14px;}
.talk-cta button.x{flex:none;min-width:44px;min-height:44px;background:none;border:0;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;}
body.has-talk-cta{padding-bottom:64px;}
@media(min-width:700px){.talk-cta p{display:block;}.talk-cta{gap:20px;padding-left:24px;}}
@media(prefers-reduced-motion:reduce){.talk-cta{transition:none;}}
@media print{.talk-cta,.toc{display:none;}}
