/* Shared K8SEC reading layout: content first, compact opt-in contents. */
:root { --research-cyan:#38bdf8; --research-purple:#7c3aed; }
.article-grid { display:grid; width:calc(100% - 2rem); max-width:1600px!important; margin-inline:auto!important; padding:1rem 0 4rem!important; gap:1.5rem!important; grid-template-columns:minmax(0,1fr)!important; }
.article-main { padding:clamp(1rem,2.5vw,2.5rem)!important; min-width:0; }
.article-body { max-width:1200px!important; }
.article-hero { max-width:1440px!important; }
.article-main p,.article-body p { line-height:1.8; }
.article-main h2,.article-body h2,[id] { scroll-margin-top:7rem; }
.toc { min-width:0; margin:0 0 1.5rem!important; padding:.65rem!important; position:relative!important; top:auto!important; align-self:start; order:-1; width:100%; }
.toc summary { cursor:pointer; color:#e2e8f0; font:600 .85rem/1.5 'Space Grotesk',sans-serif; padding:.4rem 0; }
.toc a { overflow-wrap:anywhere; font-size:.8rem!important; line-height:1.5!important; color:#cbd5e1!important; }
.toc a:hover,.toc a[aria-current="location"] { color:#67e8f9!important; }
.toc ol,.toc ul { margin:0!important; padding-left:1rem!important; }
.toc h3,.toc .toc-title { display:none; }
.toc:not([open]) > :not(summary) { display:none!important; }
.article-body > .toc { max-width:100%; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible { outline:3px solid #67e8f9; outline-offset:4px; }
pre { max-width:100%; overflow:auto!important; }
.article-main img,.article-body img { max-width:100%; height:auto; }
.table-scroll { overflow:auto; max-width:100%; margin-block:1.5rem; }
.table-scroll table { min-width:560px; margin:0; }
.research-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0; }
.research-tags a { color:#67e8f9; border-bottom:1px solid #334155; font-size:.85rem; text-decoration:none; padding:.25rem 0; }
.research-tags a + a { margin-left:.5rem; }
.hero-title { font-size:clamp(2.25rem,6vw,5.5rem)!important; overflow-wrap:break-word; }
.mindmap { border:1px solid #334155; padding:clamp(1rem,2vw,1.5rem); border-radius:1rem; margin:2rem 0; background:#080f23; }
.mindmap-root { text-align:center; border:1px solid #38bdf8; padding:1rem; border-radius:.65rem; font-weight:700; color:#e2e8f0; }
.mindmap-branches { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding-top:1.5rem; }
.mindmap-branch { border-top:2px solid #7c3aed; padding-top:1rem; position:relative; }
.mindmap-branch::before { content:""; height:1.5rem; position:absolute; top:-1.5rem; left:50%; border-left:1px solid #64748b; }
.mindmap summary { cursor:pointer; color:#67e8f9; font-weight:600; padding:.5rem 0; }
.mindmap details { border-bottom:1px solid #334155; padding:.4rem 0; }
.mindmap details p { font-size:.95rem; margin:.75rem 0; }
.evidence-flow { list-style:none!important; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; padding:0!important; }
.evidence-flow li { border:1px solid #334155; border-top:2px solid #38bdf8; padding:1rem; border-radius:.5rem; margin:0; }
.evidence-flow strong { display:block; margin-bottom:.5rem; }
.evidence-flow span { display:block; font-size:.92rem; color:#cbd5e1; }
.operator-tip { border-left:3px solid #38bdf8; background:#0c1930; padding:1rem 1.25rem; margin:1.5rem 0; }
.operator-tip strong { color:#67e8f9; }
@media(min-width:1280px) {
  .article-grid { grid-template-columns:minmax(0,1fr) 10%!important; }
  .article-grid > .toc { order:0; position:sticky!important; top:6rem!important; max-height:calc(100vh - 7rem); overflow:auto; margin:0!important; }
}
@media(max-width:767px) {
  .mindmap-branches,.evidence-flow { grid-template-columns:1fr; }
  .mindmap-branch::before { display:none; }
  .article-hero { padding-top:2rem!important; }
  .article-main h2 { font-size:1.6rem!important; }
  .concept-grid,.attack-chain { grid-template-columns:minmax(0,1fr)!important; }
  .filter-bar { position:relative!important; top:0!important; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  #neuronCanvas,.neuron-network,.particle { display:none!important; }
}

.article-grid > .article-body { width:100%; margin:0; min-width:0; padding:clamp(1rem,2.5vw,2.5rem); }

.article-grid > .article-body { max-width:none!important; }
