[data-mgx-art^="niche-"] {
  --mgx-hero:#202a30;
  --mgx-deep:#111b26;
}
[data-mgx-art^="niche-"] .mgx-hero {
  min-height:clamp(17rem,33vw,27rem);
}
[data-mgx-art^="niche-"] .mgx-hero h1 {
  max-width:19ch;
  font-size:clamp(2rem,5.4vw,4.4rem);
}
.niche-intro,.niche-topic-links,.niche-spoiler,.niche-diagram {
  margin-block:1rem;
}
.niche-spoiler summary {
  cursor:pointer;
  font-size:clamp(1.25rem,2.6vw,1.9rem);
  line-height:1.22;
  font-weight:760;
}
.niche-spoiler[open] summary {
  margin-bottom:.8rem;
}
.mgx-filters .niche-unchecked {
  display:flex;
  align-items:center;
  gap:.55rem;
}
.niche-unchecked input[type="checkbox"] {
  width:1rem;
  min-height:1rem;
}
.niche-diagram {
  overflow:auto;
  max-height:36rem;
  background:#142332;
  border:1px solid #a98855;
  border-radius:.7rem;
}
.niche-diagram svg {
  display:block;
  margin-inline:auto;
  min-width:min(100%,30rem);
}
.niche-diagram .niche-edges path {
  fill:none;
  stroke:#deb779;
  stroke-width:2;
}
.niche-diagram marker path {
  fill:#deb779;
}
.niche-nodes rect {
  fill:#253b4e;
  stroke:#8ec7d6;
  stroke-width:1.5;
}
.niche-nodes :is(a:hover,a:focus-visible) rect {
  fill:#32596c;
  stroke:#ffe1a9;
}
.niche-nodes text {
  fill:#fdf6e6;
  text-anchor:middle;
  font:700 14px system-ui,sans-serif;
}
.niche-map-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));
  gap:.65rem;
  list-style:none;
  padding:0;
}
.niche-map-list li {
  border:1px solid var(--mgx-border);
  border-radius:.5rem;
  padding:.55rem .7rem;
  margin:0;
}
.niche-map-list li:target {
  outline:2px solid var(--mgx-accent);
}
.niche-reference-tools {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem 1rem;
  margin-block:1rem;
}
.niche-reference-tools[hidden],.niche-reference-card[hidden] { display:none; }
.niche-reference-tools select {
  min-height:2.75rem;
  max-width:100%;
  padding:.4rem;
  font:inherit;
  color:inherit;
  background:var(--mgx-bg);
  border:1px solid var(--mgx-border);
  border-radius:.35rem;
}
.niche-reference-tools p { margin:0; }
.niche-reference-list { display:grid; gap:.5rem; }
.niche-reference-card {
  border:1px solid var(--mgx-border);
  border-radius:.55rem;
  background:var(--mgx-bg);
}
.niche-reference-card:target { outline:2px solid var(--mgx-accent); }
.niche-reference-card summary {
  cursor:pointer;
  min-height:2.75rem;
  padding:.55rem .75rem;
  font-weight:700;
}
.niche-reference-card summary small {
  margin-inline-start:.65rem;
  font-weight:500;
}
.niche-reference-body { padding:0 .75rem .75rem; }
.niche-reference-body p { margin:.55rem 0; }
