/* Scoped article navigation: shared typography, native disclosure and anchor fallback. */
.fbd-article-toc {
  --fbd-toc-accent:#bd263a;
  --fbd-toc-text:#202630;
  --fbd-toc-bg:#f8f9fb;
  --fbd-toc-line:rgba(17,19,24,.12);
  margin:1.8em 0 2em;
  border:1px solid var(--fbd-toc-line);
  border-radius:16px;
  background:var(--fbd-toc-bg);
  color:var(--fbd-toc-text);
  overflow-wrap:anywhere;
}
.fbd-article-toc--gaming { --fbd-toc-accent:#1d4ed8; }
html[data-fbd-theme="dark"] .fbd-article-toc {
  --fbd-toc-accent:#ff8590;
  --fbd-toc-text:#e6ebf3;
  --fbd-toc-bg:#10141d;
  --fbd-toc-line:rgba(255,255,255,.14);
}
html[data-fbd-theme="dark"] .fbd-article-toc--gaming { --fbd-toc-accent:#93c5fd; }
.fbd-article-toc .fbd-article-toc__details { padding:0; margin:0; border:0; background:transparent; }
.fbd-article-toc .fbd-article-toc__summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:52px;
  padding:18px 22px;
  color:var(--fbd-toc-text);
  font-size:17px;
  font-weight:800;
  line-height:1.45;
  list-style:none;
  cursor:pointer;
}
.fbd-article-toc__summary::-webkit-details-marker { display:none; }
.fbd-article-toc__summary::after {
  content:"";
  flex:0 0 8px;
  width:8px;
  height:8px;
  margin-right:3px;
  border-right:2px solid var(--fbd-toc-accent);
  border-bottom:2px solid var(--fbd-toc-accent);
  transform:rotate(45deg) translateY(-2px);
}
.fbd-article-toc__details[open] > .fbd-article-toc__summary::after { transform:rotate(225deg) translate(-2px,-1px); }
.fbd-article .fbd-content .fbd-article-toc .fbd-article-toc__list {
  margin:0;
  padding:2px 22px 14px 46px;
  border-top:1px solid var(--fbd-toc-line);
  list-style:decimal;
}
.fbd-article .fbd-content .fbd-article-toc li { margin:0; padding:0 0 0 4px; }
.fbd-article-toc li::marker { color:var(--fbd-toc-accent); font-size:13px; font-weight:750; }
.fbd-article-toc li + li { border-top:1px solid var(--fbd-toc-line); }
.fbd-article .fbd-content .fbd-article-toc a {
  display:block;
  min-height:44px;
  box-sizing:border-box;
  padding:11px 0;
  color:var(--fbd-toc-text) !important;
  font-size:16px;
  font-weight:600;
  line-height:1.5;
  text-decoration:underline;
  text-decoration-color:var(--fbd-toc-accent) !important;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.fbd-article .fbd-content .fbd-article-toc a:hover { color:var(--fbd-toc-accent) !important; }
.fbd-article-toc a:focus-visible,.fbd-article-toc summary:focus-visible {
  outline:3px solid var(--fbd-toc-accent) !important;
  outline-offset:3px;
  border-radius:4px;
}
/* Existing shared chrome already supplies scroll-padding; avoid adding it twice. */
[data-fbd-toc-target],.fbd-toc-anchor { scroll-margin-top:112px; }
html.fbd-has-scroll-header [data-fbd-toc-target],html.fbd-has-scroll-header .fbd-toc-anchor { scroll-margin-top:8px; }
.fbd-toc-anchor { display:block; height:0; }
@media(max-width:767px) {
  .fbd-article-toc { margin:1.5em 0; border-radius:13px; }
  .fbd-article-toc .fbd-article-toc__summary { padding:15px 17px; font-size:16px; }
  .fbd-article .fbd-content .fbd-article-toc .fbd-article-toc__list { padding:2px 17px 10px 39px; }
}
@media print {
  .fbd-article-toc { display:none; }
}
