/* PageIndex-only controls. The reading shell comes from research.css and article-tools.css. */
.pageindex-nav{gap:1rem}.pageindex-nav .nav-toggle{display:none}.pageindex-nav img{object-fit:contain}
.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;background:#e2e8f0;color:#020617;padding:.6rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}
.article-main{overflow-wrap:anywhere}.article-hero .hero-title{max-width:1280px}.article-hero .hero-image img{width:100%;height:auto}
.progress{position:fixed;top:0;left:0;height:3px;background:#94a3b8;z-index:70;width:0}
.article-main .concept-card h3{margin:0 0 .8rem;padding:0;border:0;font-size:1.15rem}.article-main .concept-card p{font-size:.95rem;margin:0}.card-icon{color:#a5b4fc;margin-bottom:.7rem}.safe .card-icon{color:#34d399}.warning .card-icon{color:#fbbf24}
.callout,.mitre-map{background:#0c1930;border:1px solid #334155;border-left:3px solid #94a3b8;padding:1.2rem;margin:1.7rem 0;border-radius:.6rem}.callout.warning{border-left-color:#fbbf24}.callout strong{color:#e2e8f0}.callout p,.mitre-map p{margin:.5rem 0 0;font-size:.94rem}.mitre-map{display:grid;grid-template-columns:auto 1fr;gap:1rem}.mitre-map h3{margin:0 0 .7rem;padding:0;border:0;font-size:1.1rem}.mitre-map>i{color:#a5b4fc;margin-top:.35rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.tech-tag{font:500 .66rem 'JetBrains Mono',monospace;background:#020617;border:1px solid #334155;border-radius:.3rem;padding:.4rem .6rem}
.table-wrap{max-width:100%}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{padding:1rem;vertical-align:top;border:1px solid #334155;text-align:left}th{background:#1e293b}td:first-child{font-weight:600}
.article-main>pre{position:relative;padding:3rem 1.1rem 1.1rem;white-space:pre}.code-lang{position:absolute;top:.8rem;left:1.1rem;color:#a5b4fc;margin:0}.copy{position:absolute;right:.7rem;top:.6rem;border:1px solid #475569;border-radius:.35rem;background:#1e293b;color:#e2e8f0;padding:.35rem .65rem;cursor:pointer}
.final-word-section{border:1px solid #475569;background:#142033;border-radius:1.2rem;padding:1.7rem}.final-word-section p{font-style:italic}.final-word-label{color:#94a3b8;letter-spacing:.14em;text-transform:uppercase;font:600 .75rem 'JetBrains Mono',monospace;margin-bottom:1rem}.final-word-close{display:block;font:700 1.4rem/1.4 'Space Grotesk',sans-serif}.final-word-author{font:500 .8rem/1.7 'JetBrains Mono',monospace;margin-top:1.5rem;color:#94a3b8}
.cta{border:1px solid #334155;border-radius:1.2rem;margin:2rem 0;padding:1.5rem;background:#0f172a}.cta>strong{font-size:1.4rem}.cta p{margin:.6rem 0}.sources{margin-top:2.5rem}.sources li{margin:.6rem 0}.sources a{overflow-wrap:anywhere}.site-footer img{display:block;width:106px;height:46px;object-fit:contain;margin:0 auto 1rem}
.flow-lab{border:1px solid #475569;border-radius:1.1rem;margin:2rem 0;overflow:hidden;background:#080f23}
.flow-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.25rem;border-bottom:1px solid #334155}.flow-heading strong{font-family:'Space Grotesk',sans-serif;font-size:1.2rem}.flow-heading span{font:500 .68rem 'JetBrains Mono',monospace;text-transform:uppercase;color:#94a3b8}
.flow-inputs{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem;padding:1.25rem}.flow-inputs label{font-size:.87rem;color:#cbd5e1}.scenario-field{display:grid;gap:.35rem;flex:1;min-width:180px}.flow-inputs select{background:#020617;color:#e2e8f0;border:1px solid #64748b;border-radius:.5rem;padding:.7rem;font:inherit;max-width:100%}.gate-switch{display:flex;gap:.5rem;align-items:center;padding:.7rem 0}.gate-switch input{width:1.1rem;height:1.1rem;accent-color:#38bdf8}
.flow-scroll{overflow:auto;margin:0 1rem}.flow-svg{display:block;width:100%;min-width:680px;max-height:450px}.flow-svg text{font-family:'Space Grotesk',sans-serif;pointer-events:none}.flow-svg .node rect{fill:#0f172a;stroke:#475569;stroke-width:1.5}.flow-svg .node{cursor:pointer}.flow-svg .node:focus{outline:none}.flow-svg .node:focus-visible rect{stroke:#67e8f9;stroke-width:4}.flow-svg .node.active rect{stroke:#a5b4fc;stroke-width:3;fill:#202342}.flow-svg .node.visited rect{stroke:#34d399}.flow-svg .node.blocked rect{stroke:#fbbf24;fill:#30250f}.flow-svg .node.risk rect{stroke:#fb7185;fill:#301420}.flow-svg .wire{stroke:#475569;stroke-width:2;fill:none}.flow-svg .wire.traversed{stroke:#94a3b8;stroke-dasharray:9 8}.flow-lab.playing .wire.traversed{animation:flow-dash 1s linear infinite}@keyframes flow-dash{to{stroke-dashoffset:-34}}
.flow-detail{margin:0 1.25rem 1.25rem;padding:1rem 1.2rem;background:#0f172a;border-left:3px solid #a5b4fc;border-radius:.3rem;min-height:130px}.flow-detail[data-tone=blocked]{border-left-color:#fbbf24}.flow-detail[data-tone=risk]{border-left-color:#fb7185}.flow-detail[data-tone=done]{border-left-color:#34d399}.flow-detail strong{display:block;margin:.3rem 0}.flow-detail p{font-size:.9rem;margin:0}.flow-step{font:500 .67rem 'JetBrains Mono',monospace;color:#94a3b8;text-transform:uppercase}
.flow-controls{display:flex;flex-wrap:wrap;gap:.6rem;padding:0 1.25rem 1rem}.flow-controls button{font:600 .85rem 'Inter',sans-serif;color:#e2e8f0;background:#1e293b;border:1px solid #64748b;border-radius:.5rem;padding:.65rem .9rem;cursor:pointer}.flow-controls button:disabled{opacity:.45;cursor:default}.flow-controls [data-flow-play]{background:#1d4ed8;border-color:#60a5fa}.flow-caption{padding:0 1.25rem 1.25rem;color:#94a3b8;font-size:.8rem;line-height:1.65}.flow-caption p{font-size:inherit;margin:0;color:inherit}
@media(max-width:767px){.pageindex-nav .nav-toggle{display:block;background:#0f172a;color:#e2e8f0;border:1px solid #64748b;border-radius:.5rem;padding:.65rem}.pageindex-nav>div{display:none;position:absolute;top:100%;left:0;right:0;padding:1rem;background:#020617;border-bottom:1px solid #334155}.pageindex-nav>div.open{display:flex}.flow-heading{align-items:flex-start;flex-direction:column}.flow-inputs{align-items:stretch;flex-direction:column}.flow-detail{min-height:0}.article-hero .hero-image{border-radius:1rem}.mitre-map{grid-template-columns:1fr}}
@media print{.article-nav,.flow-controls,.flow-inputs,.progress,.copy,.skip-link,.neuron-bg{display:none}body{background:#fff;color:#111}.article-shell{padding-top:0}.article-main,.flow-lab,.flow-detail{background:#fff;border-color:#888}.article-main p,.article-main strong{color:#111}.flow-scroll{overflow:visible}.flow-svg{min-width:0}.article-hero{padding-top:0}}
