/* 527 diagrams: quiet hierarchy, labelled relationships, no decorative data. */
:is(.nc-overview,.nc-branches,.nc-trail){--nc-accent:#c5d7af;--nc-muted:#a1ada9;--nc-line:#394742;--nc-surface:#101917;--nc-amber:#dbb77b;margin:24px 0;color:inherit;font-family:inherit;min-width:0;text-align:start}
:is(.nc-overview,.nc-branches,.nc-trail) *{box-sizing:border-box;min-width:0}
:is(.nc-overview,.nc-branches,.nc-trail)>figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;font:500 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--nc-accent);margin-bottom:18px}
:is(.nc-overview,.nc-branches,.nc-trail)>figcaption small{font:inherit;color:var(--nc-muted);letter-spacing:.03em;text-transform:none}
:is(.nc-overview,.nc-trail) ol{list-style:none;display:flex;gap:0;margin:0;padding:0}
.nc-overview li.nc-step{position:relative;flex:1;padding:0;border:0;margin:0}
.nc-overview li.nc-step+li::before{content:"";position:absolute;inset-block-start:28px;inset-inline-start:-10px;width:20px;border-top:1px solid var(--nc-line)}
.nc-overview .nc-step a{display:grid;grid-template-columns:20px 1fr;gap:4px 8px;padding:14px 16px;min-height:76px;border:1px solid var(--nc-line);background:var(--nc-surface);text-decoration:none;color:inherit;height:100%}
.nc-overview .nc-step+.nc-step{margin-inline-start:18px}
.nc-index{font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--nc-muted);grid-row:1 / 3}
.nc-stage{font:500 9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--nc-muted)}
.nc-overview .nc-step strong{font-size:22px;line-height:1.2;font-weight:450;letter-spacing:-.03em;color:var(--nc-accent);font-variant-numeric:tabular-nums}
.nc-overview.nc-compact{margin:20px 0 0}
.nc-overview.nc-compact>figcaption{margin-bottom:9px;font-size:9px}
.nc-overview.nc-compact .nc-step a{padding:10px;min-height:62px;grid-template-columns:1fr}
.nc-overview.nc-compact .nc-index{display:none}
.nc-overview.nc-compact .nc-step strong{font-size:19px}
.nc-overview.nc-compact .nc-step+.nc-step{margin-inline-start:12px}
.nc-overview.nc-compact li.nc-step+li::before{width:12px;inset-inline-start:-12px}
.nc-overview .nc-step a:hover,.nc-trail a.nc-trail-node:hover{border-color:var(--nc-accent);background:#18231d}
.nc-overview .nc-step a:focus-visible,.nc-trail a:focus-visible,.nc-branches a:focus-visible{outline:2px solid var(--nc-accent);outline-offset:4px}
.narrative-map.nc-branches{padding:24px;border:1px solid var(--nc-line);background:linear-gradient(145deg,#15201b77,transparent 65%);container-type:inline-size}
.narrative-map.nc-branches::before{display:none}
.nc-branches .nc-trunk{position:relative;display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:0 auto 40px;padding:12px 18px;border:1px solid #677a62;border-radius:3px;background:#19261d}
.nc-branches .nc-trunk::after{content:"";position:absolute;inset-block-start:100%;inset-inline-start:50%;height:22px;border-inline-start:1px solid var(--nc-line)}
.nc-trunk>strong{font-size:15px;font-weight:450;white-space:nowrap}
.nc-trunk>span:last-child{font:10px/1.5 ui-monospace,monospace;color:var(--nc-muted);border-inline-start:1px solid var(--nc-line);padding-inline-start:12px}
.nc-trunk-dot{width:8px;height:8px;border:1px solid var(--nc-accent);transform:rotate(45deg);flex:none;background:#c5d7af33}
.nc-branch-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nc-branch-grid::before{content:"";position:absolute;inset-block-start:-19px;inset-inline:16.66%;border-top:1px solid var(--nc-line)}
.nc-branches a.nc-branch{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;padding:18px;min-height:186px;border:1px solid var(--nc-line);border-radius:3px;color:inherit;background:#0d1513;text-decoration:none;text-align:start}
.nc-branches .nc-branch::before{content:"";position:absolute;inset-block-start:-20px;inset-inline-start:50%;height:19px;border-inline-start:1px solid var(--nc-line)}
.nc-branches .nc-branch:nth-child(n+4)::before{display:none}
.nc-branch .nc-branch-number{font:10px/1.5 ui-monospace,monospace;color:var(--nc-accent)}
.nc-branch>strong{font-size:15px;font-weight:500;line-height:1.5}
.nc-branch .nc-branch-excerpt{font-size:12px;line-height:1.7;color:var(--nc-muted);overflow-wrap:anywhere}
.nc-branch .nc-branch-action{margin-top:auto;padding-top:10px;font-size:10px;color:var(--nc-accent)}
.nc-branches a.nc-branch:hover,.nc-branches a.nc-branch[aria-current=true]{border-color:#809772;background:#19251c}
:is(.nc-branches,.nc-trail,.nc-overview) p.nc-caption,.nc-caption{font-size:11px!important;line-height:1.7!important;color:var(--nc-muted,#a1ada9);margin:18px 0 0;max-width:82ch}
/* A trail is an ordered path; its connectors carry the actual recorded relation. */
.claim-trail.nc-trail{display:block;width:100%;padding:20px;border:1px solid var(--nc-line);border-radius:4px;background:#0e1613;margin:20px 0}
.claim-trail.nc-trail ol{align-items:stretch}
.nc-trail .nc-trail-stop{display:flex;flex:1;margin:0;padding:0;border:0;list-style:none}
.nc-trail .nc-trail-stop:last-child{flex:1.3}
.nc-trail .nc-trail-node{display:flex;flex-direction:column;align-items:stretch;gap:10px;flex:1;padding:15px 12px;min-height:154px;border:1px solid var(--nc-line);border-top:2px solid #758767;background:#162019;color:inherit;text-decoration:none}
.nc-trail .nc-trail-node strong{font-size:13px;font-weight:450;line-height:1.65;overflow-wrap:anywhere}
.nc-trail .nc-trail-node small{font-size:10px;line-height:1.6;color:var(--nc-muted);margin-top:auto}
.nc-trail .gap .nc-trail-node{border:1px dashed #8f744e;background:#29201544}
.nc-trail .gap .nc-trail-node :is(strong,small){color:var(--nc-amber)}
.nc-trail .claim .nc-trail-node{border-top-color:#c5d7af;background:#23302066}
.nc-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:68px;flex:none;padding:0 5px;text-align:center;font:9px/1.5 ui-monospace,monospace;color:var(--nc-muted)}
.nc-connector i{display:block;position:relative;width:100%;border-top:1px solid #8ba07e}
.nc-connector i::after{content:"";position:absolute;inset-inline-end:-1px;top:-3px;width:5px;height:5px;border-top:1px solid #8ba07e;border-inline-end:1px solid #8ba07e;transform:rotate(45deg)}
[dir=rtl] .nc-connector i::after{transform:rotate(-45deg)}
.nc-connector.provisional i{border-top-style:dashed;border-color:var(--nc-amber)}
.nc-connector.gap i{border-top-style:dotted;border-color:var(--nc-amber)}
.nc-connector :is(small,span){font:inherit;overflow-wrap:anywhere}
.nc-connector.provisional small{color:var(--nc-amber)}
.nc-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font:10px/1.6 ui-monospace,monospace;color:#a1ada9;margin:14px 0}
.nc-legend>span{display:flex;align-items:center;gap:8px}
.nc-legend i{width:22px;border-top:1px solid #8ba07e}
.nc-legend i.provisional{border-top-style:dashed;border-color:#dbb77b}
.nc-legend i.gap{border-top-style:dotted;border-color:#dbb77b}
.story-intelligence .nc-trail{padding:16px}
.story-intelligence .nc-trail .nc-trail-node{padding:12px 10px}
.story-intelligence .nc-trail .nc-connector{width:52px}
.nc-evidence-chain .nc-step strong{font:12px/1.6 ui-monospace,monospace;overflow-wrap:anywhere;letter-spacing:0}
.nc-evidence-chain .nc-step a{min-height:100px}
.intel-noir #chain{padding-block:34px}
.front-comparison-body .nc-branches{margin:24px 0}

@container(max-width:420px){.nc-branch-grid{grid-template-columns:1fr;padding-inline-start:20px;gap:12px}.nc-branch-grid::before{inset-inline-start:0;inset-inline-end:auto;inset-block:-19px 50%;border-top:0;border-inline-start:1px solid var(--nc-line)}.nc-branches .nc-trunk{margin-inline:0;margin-inline-start:0;margin-bottom:30px}.nc-branches .nc-trunk::after{inset-inline-start:0;height:31px}.nc-branches .nc-branch::before,.nc-branches .nc-branch:nth-child(n)::before{display:block;inset-inline-start:-21px;inset-block-start:24px;width:20px;height:0;border-top:1px solid var(--nc-line);border-inline-start:0}.nc-branches a.nc-branch{min-height:0;padding:16px}}
@media(max-width:760px){.nc-trail ol{flex-direction:column}.nc-trail .nc-trail-stop{flex-direction:column}.nc-trail .nc-trail-node{min-height:0;gap:7px}.nc-trail .nc-trail-node .nc-index{float:inline-start}.nc-trail .nc-connector,.story-intelligence .nc-trail .nc-connector{position:relative;flex-direction:row;justify-content:flex-start;gap:12px;height:56px;width:100%;padding-inline-start:30px}.nc-trail .nc-connector i{position:absolute;inset-inline-start:14px;inset-block:0;max-width:0;width:0;border-top:0;border-inline-start:1px solid #8ba07e}.nc-trail .nc-connector i::after{inset-inline-start:-3px;top:auto;bottom:0;transform:rotate(135deg)}[dir=rtl] .nc-trail .nc-connector i::after{transform:rotate(-135deg)}.nc-trail .nc-connector.provisional i{border-inline-start-style:dashed;border-color:var(--nc-amber)}.nc-trail .nc-connector.gap i{border-inline-start-style:dotted;border-color:var(--nc-amber)}.nc-overview:not(.nc-compact) .nc-step a{padding:12px 8px;grid-template-columns:1fr}.nc-overview:not(.nc-compact) .nc-index{display:none}.nc-overview .nc-step strong{font-size:20px}.nc-overview .nc-step+.nc-step{margin-inline-start:10px}.nc-overview li.nc-step+li::before{width:10px;inset-inline-start:-10px}.nc-evidence-chain ol{flex-direction:column;gap:12px}.nc-evidence-chain .nc-step+.nc-step{margin-inline-start:0}.nc-evidence-chain li.nc-step+li::before{height:12px;width:0;border-inline-start:1px solid var(--nc-line);border-top:0;inset-inline-start:16px;inset-block-start:-12px}.nc-evidence-chain .nc-step a{min-height:65px}.nc-evidence-chain .nc-step strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){:is(.nc-overview,.nc-trail,.nc-branches) *{animation:none!important;transition:none!important}}
@media(forced-colors:active){:is(.nc-overview,.nc-trail,.nc-branches){--nc-accent:LinkText;--nc-muted:CanvasText;--nc-line:CanvasText;--nc-surface:Canvas;--nc-amber:CanvasText}.nc-trail .nc-connector i,.nc-branch-grid::before{border-color:CanvasText}}
@media print{:is(.nc-overview,.nc-trail,.nc-branches){--nc-accent:#162c20;--nc-muted:#36433c;--nc-line:#879b8d;--nc-surface:#fff;--nc-amber:#674b1c;background:white!important;color:#18251e;break-inside:avoid}.nc-branches a.nc-branch,.nc-trail .nc-trail-node{background:white!important;color:#18251e}}

.nc-branch-grid.nc-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nc-branch-grid.nc-columns-2::before{inset-inline:25%}.nc-branches .nc-more{margin:18px 0 0;border:0;border-top:1px solid var(--nc-line);background:transparent;padding:14px 0 0}.nc-branches .nc-more>summary{display:flex;justify-content:space-between;gap:16px;font-size:12px;min-height:32px;cursor:pointer;color:var(--nc-accent)}.nc-other-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.nc-other-branches .nc-branch::before{display:none!important}@container(max-width:420px){.nc-branch-grid.nc-columns-2{grid-template-columns:1fr}.nc-branch-grid::before,.nc-branch-grid.nc-columns-2::before{inset-inline-start:0;inset-inline-end:auto;inset-block-start:-19px;inset-block-end:auto;height:44px}.nc-branch-grid .nc-branch::after{content:"";position:absolute;inset-inline-start:-21px;inset-block-start:24px;height:calc(100% + 12px);border-inline-start:1px solid var(--nc-line)}.nc-branch-grid .nc-branch:last-child::after{display:none}.nc-other-branches{grid-template-columns:1fr}}

/* Colour identifies evidence, perspectives and unresolved relations; every state also has a label. */
:is(.nc-overview,.nc-branches,.nc-trail){--nc-accent:#c9ef99;--nc-source:#79dcd4;--nc-perspective:#c2afff;--nc-amber:#edc07d;--nc-muted:#b1bdc6;--nc-line:#3b4b57;--nc-surface:#101c24}
.nc-overview .nc-sources a{border-top:2px solid var(--nc-source)}.nc-overview .nc-sources strong{color:var(--nc-source)}
.nc-overview :is(.nc-worlds,.nc-told) a{border-top:2px solid var(--nc-perspective)}.nc-overview :is(.nc-worlds,.nc-told) strong{color:var(--nc-perspective)}
.nc-overview .nc-history a{border-top:2px solid var(--nc-accent)}
.narrative-map.nc-branches{background:linear-gradient(140deg,#1b1b303d,transparent 70%)}
.nc-branches .nc-trunk{border-color:#647c82;background:#142830}.nc-trunk-dot{border-color:var(--nc-source);background:#79dcd422}
.nc-branches a.nc-branch{border-top:2px solid #8476b9;background:#131922}.nc-branch :is(.nc-branch-number,.nc-branch-action){color:var(--nc-perspective)}
.nc-branches a.nc-branch:hover,.nc-branches a.nc-branch[aria-current=true]{border-color:var(--nc-perspective);background:#212037}
.claim-trail.nc-trail{background:#0e161e}.nc-trail .nc-trail-node{background:#15222c}
.nc-trail .root .nc-trail-node{border-top-color:var(--nc-source)}.nc-trail .publication .nc-trail-node{border-top-color:var(--nc-perspective)}
.nc-connector.provisional,.nc-connector.gap{color:var(--nc-amber)}.nc-connector.nc-contradicts{color:#ffab9d}.nc-connector.nc-contradicts i,.nc-connector.nc-contradicts i::after{border-color:#ffab9d}
.story-proof{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;width:fit-content;max-width:100%;min-height:48px;margin:22px 0 12px;padding:12px 16px;border:1px solid #375b62;border-inline-start:3px solid #79dcd4;border-radius:3px;background:#12252c;color:#97e6e0;text-decoration:none;font-size:12px;line-height:1.6}
.story-proof strong{font-weight:500}.story-proof:hover{background:#18313a}.story-proof:focus-visible{outline:2px solid #79dcd4;outline-offset:4px}
.source-list .source .source-article-title{font-size:14px;line-height:1.65;color:#dae4e9;margin:8px 0;max-width:75ch}
.reader-noir .reading-nav>p{display:none}
.nc-branches+.worlds-origin{display:none}
.nc-branches~.worlds{margin-top:32px}
.nc-branches~.worlds .world::before{display:none}
.reader-noir .nc-branches~.worlds .world{background:#111b23;border-top-color:#556075}
@media(forced-colors:active){:is(.nc-overview,.nc-branches,.nc-trail){--nc-accent:LinkText;--nc-source:LinkText;--nc-perspective:LinkText;--nc-amber:CanvasText;--nc-line:CanvasText;--nc-muted:CanvasText;--nc-surface:Canvas}.story-proof{color:LinkText;background:Canvas;border-color:LinkText}.source-list .source .source-article-title{color:CanvasText}}
