/* Belgian archive palette: charcoal frame, readable paper, muted red and gold.
   Role colours, evidence statuses and link types deliberately retain their meaning. */
:root{--ink:#202020;--paper:#f5f1eb;--card:#fffdf9;--muted:#62605d;--rule:#d0c8bf;--red:#a52f32;--yellow:#e5bc4b;--night:#171717;--cream:#eee8df;--rose:#eee8df;--rose-border:#c5bbb0}
body{background:#171717;color:var(--ink)}
main>section{background:var(--paper);border-bottom:14px solid #171717}
.topbar{background:rgba(20,20,20,.97);color:#faf6ef;border-bottom:2px solid #b63e40;box-shadow:0 4px 20px #0002}
.topbar .brand small{color:#c6bfba}.brand-mark{background:#a42f32;color:#fff5e9}
.topbar nav a{color:#e3dcd6}.topbar nav a:hover,.topbar nav a.nav-current{color:#f0cc62}
.topbar .source-button{border-color:#83796e;color:#faf6ef}.topbar .source-button span{background:#e5bc4b;color:#171717}
.topbar .mobile-jump{color:#eee6dc}.topbar .mobile-jump select{background:#292725;color:#fff5e9;border-color:#645b53}
.primary,.unified-search button{background:#242222;color:#fffaf2;border-color:#242222}.primary:hover{background:#85272b}
.ghost{color:#292322;background:#fffaf5;border-color:#9d8d87}.ghost:hover{background:#eee8df}
.kicker{color:#992b30}.section-purpose{color:#62504c;border-color:#bd8e88}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb8b18;outline-offset:3px}
input[type=checkbox]{accent-color:#9d3034}
/* A dark, photographic introduction, rather than a washed-out hero. */
.hero-with-history{background:#171717;color:#fff8ed;border-bottom:0}
.hero-with-history::after{background:linear-gradient(90deg,rgba(15,15,15,.96),rgba(15,15,15,.87) 32%,rgba(15,15,15,.48) 63%,rgba(15,15,15,.08)),linear-gradient(0deg,#171717,transparent 65%)}
.hero-with-history h1{color:#fff8ed}.hero-with-history h1 em{color:#e7bd52}
.hero-with-history .lede,.hero-with-history .lede strong{color:#eee6dc}
.hero-with-history .eyebrow{background:#171717dc;color:#eadac6;border-left:2px solid #e5bc4b}
.hero-with-history .hero-search-link{color:#f0cc62}.hero-with-history .primary{background:#e5bc4b;color:#171717;border-color:#e5bc4b}.hero-with-history .primary span{color:#171717}
.hero-with-history .ghost{background:#1c1b1bbf;color:#fff8ed;border-color:#bdb3a6}
.hero-with-history .case-stats{background:#242222f2;border-color:#6a5752;color:#fff7ed}.hero-with-history .case-stats article{border-color:#6a5752}.hero-with-history .case-stats strong{color:#efcc6c}.hero-with-history .case-stats small{color:#d2c4ba}
.hero-with-history .caution{background:#282321;color:#f4eae0;border-color:#68584f}.hero-with-history .caution>span{color:#171717}
.hero-photo-info{background:transparent;color:#dfcfb8;border-color:#907e69}
/* Warm paper is kept behind dense text, controls and research results. */
.people-section,.landscape-section{background:#eee7e2}.research-start,.archive-section,.historical-section{background:#f7f3ed}
.unified-search,.position-tools,.people-case-picker,.landscape-route,.landscape-compare,.landscape-viewbar,.overlap-summary,.piste-verdict,.ex-start,.person-key-info,.archive-reader{background:var(--rose);border-color:var(--rose-border);color:#392c2c}
.unified-search p,.unified-status,.profession-tools small,.position-tools p,.people-case-picker>p,.people-case-picker summary span,.section-purpose,.map-reading-note,.landscape-line-hint,.graph-hint{color:#675653}
.research-route,.unified-group,.piste-overview,.piste-detail-card,.explorer-panel,.claim-library,.research-dossiers,.archive-fold,.atlas-fold,.history-archive-fold,.history-card,.people-app,.landscape-shell{background:var(--card);border-color:#cdbbb5}
.research-route a{border-color:#d9c5be}.research-route a:hover{background:#ece3d7}.research-route small,.unified-result small,.coverage-explainer dd{color:#665e59}.research-route b{color:#9d3034}
.unified-result,.drawn-relations-body button,.people-relation button,.research-link button,.archive-result h3 button,.register-actions button{color:#5e2427}
.profession-presets button,.register-actions button,.archive-quick button,.specific-claim-context button,.piste-overlap button,.history-context-link{background:#f3eee5;border-color:#bbae9e;color:#62262a}
.profession-presets button:hover,.shared-person:hover{background:#e4d8c9}
.shared-person{background:#e8ddce;border-color:#b9847c;color:#5d2527}
.landscape-filters button.active,.piste-evidence-tabs button[aria-pressed=true],.mobile-map-tabs button[aria-pressed=true],.ex-search-types button.active{background:#2b2424;color:#fff5e8;border-color:#2b2424}
.piste-evidence-tabs button,.mobile-map-tabs button{background:#fcf4ee;color:#4b3432;border-color:#c9aca5}
.piste-root{background:#252222;color:#fff7ec;border-bottom:3px solid #d7ad40}
.piste-method,.piste-flow>li,.people-detail .mini-note,.drawn-relations,.mobile-filter-fold,.mobile-detail-back,.history-context-image{background:#eee8df;border-color:#d2bcb4;color:#403633}
.piste-flow>li>span,.piste-flow small,.piste-branches span,.piste-method p,.history-date,.history-figure figcaption p,.history-attribution p,.history-attribution a,.history-dialog-body .history-credit{color:#655b54}
.piste-branches button[aria-pressed=true]{background:#ece3d7}
.people-detail,.landscape-shell>#landscapeDetail,.ex-inspector{background:#f1ebe2;border-color:#c5bbb0}
.people-detail p,.landscape-shell aside p,.people-relation small,.graph-toolbar,.people-footnote,.status-legend small,.profession-tools>strong,.position-tools legend{color:#5f5550}
.graph-scroll,.landscape-scroll{background-color:#fffdf9;background-image:radial-gradient(#d8cbc4 .8px,transparent .8px)}
.person-node text,.landscape-node text{fill:#282525}.person-node .node-sub,.landscape-node .ls-sub,.graph-column,.landscape-group-title{fill:#655c54}
.person-node.selected circle:not(.status-ring):not(.secondary-role),.person-node.selected rect,.landscape-node.selected rect{stroke:#252222}
.graph-toolbar,.landscape-zoom button{background:#fffaf4;color:#554640}.graph-toolbar button{border-color:#bbae9e}
.history-image-button{background:#e9e2dc}.history-enlarge{background:#fff8ed;color:#4b302b;border-color:#cbb3a7}
.history-context-link{color:#64272b}.history-dialog-top>span{color:#62534c}.history-dialog-top button{background:#fff8ef;color:#322725;border-color:#b8a193}
footer{background:#141414;border-top:3px solid #b83f41}footer .brand small,footer p{color:#c6bab0}
.register-portrait{display:inline-block;vertical-align:middle;width:44px;height:52px;margin-right:10px;padding:0;border:1px solid #c8aaa0;background:#e6d7cf;cursor:zoom-in}.register-portrait img{width:100%;height:100%;object-fit:cover;object-position:top}
/* Continuous black page. Only contained reading/work surfaces are light.
   Red uses the exact brand-mark colour, not a pink tint. */
main>section:not(#kaart){background:#171717;color:#f5f1eb;border-bottom:1px solid #393432}
main>section>.section-head h2,main>section>.section-heading h2{color:#fff7ec}
.section-head p,.section-heading>p,.coverage>p{color:#c9c1b9}
main>section>.section-head .kicker,main>section>.section-heading .kicker{color:#e5bc4b}
.section-purpose,.map-reading-note,.landscape-line-hint,.unified-status{color:#c9c1b9;border-color:#a42f32}
.unified-search,.unified-group,.research-route,.coverage-explainer,.piste-overview,.piste-map,.piste-detail-card,.explorer-panel,.claim-library,.ex-start,.ex-layout,.research-dossiers,.archive-fold,.atlas-fold,.history-archive-fold,.history-card,.people-app,.landscape-shell,.landscape-route,.landscape-viewbar,.landscape-compare,.route-summary,.method-grid,.pattern-strip,.event-card,.coverage-row{background:#f8f4ed;color:#242222;border-color:#bcb2a7}
.unified-group,.coverage-explainer{padding:20px;border:1px solid #bcb2a7}.coverage-explainer summary{padding:0}
.unified-search,.landscape-route,.landscape-compare,.landscape-viewbar,.overlap-summary,.position-tools,.people-case-picker,.person-key-info,.piste-verdict{background:#eee8df;border-color:#c5bbb0;color:#302925}
.unified-search,.landscape-route,.ex-start{border-top:3px solid #a42f32}
.people-detail,.landscape-shell>#landscapeDetail,.ex-inspector{background:#f1ebe2;color:#292421;border-color:#c5bbb0}
.people-detail>.kicker,.landscape-shell>#landscapeDetail>.kicker{color:#a42f32}
.drawn-relations,.piste-flow>li,.piste-method,.people-detail .mini-note,.mobile-filter-fold,.mobile-detail-back,.history-context-image{background:#eee8df;color:#403933;border-color:#c5bbb0}
.ghost{background:#fffaf3;color:#3e2b29;border-color:#a89487}.ghost:hover{background:#eae0d4}
.primary:hover,.profession-presets button:hover,.shared-person:hover,.piste-overlap button:hover{background:#a42f32;color:#fffaf0;border-color:#a42f32}
.profession-presets button,.register-actions button,.archive-quick button,.specific-claim-context button,.piste-overlap button,.history-context-link,.shared-person,.unified-more{background:#f3eee5;border-color:#bbae9e;color:#822529}
.landscape-filters button{background:#fffaf3;color:#3e2b29;border-color:#a89487;font-weight:600}.landscape-filters button:focus-visible{outline:3px solid #9a7019;outline-offset:3px}.landscape-filters button.active,.landscape-filters button:hover,.piste-evidence-tabs button[aria-pressed=true],.mobile-map-tabs button[aria-pressed=true],.ex-search-types button[aria-pressed=true],#atlasGroups button.active{background:#a42f32;color:#fffaf2;border-color:#a42f32}
.piste-evidence-tabs button,.mobile-map-tabs button,.piste-controls button{background:#fcf7ef;color:#4a302d;border-color:#bdae9f}
.piste-branches button[aria-pressed=true],.research-route a:hover,.ex-result:hover,.ex-result.active{background:#ece3d7}
.piste-section>.piste-method-fold,.piste-compare-fold,.piste-section>.piste-method:last-child{background:transparent;color:#d5ccc2;border-color:#68564e}
.piste-section>.piste-method-fold p,.piste-section>.piste-method:last-child p{color:#c9c1b9}
.piste-section>.piste-method-fold a,.piste-section>.piste-method:last-child a{color:#e5bc4b}
.piste-legend,.piste-method-fold>strong,.piste-method-fold summary{color:inherit}
.piste-compare-fold>.piste-controls label,.piste-picker>label{color:#eee5db}
.piste-overview .piste-legend{color:#292421}
.piste-root{background:#a42f32;color:#fff8ec;border-color:#e5bc4b}
.landscape-types{color:#e2d7cc}.landscape-types .negative-key{color:#ff9083}
.people-app .map-reading-note,.people-app .graph-hint,.people-app .mobile-map-note,.people-app .mobile-map-count{color:#62594e}
.landscape-shell .mobile-map-note,.landscape-shell .mobile-map-count{color:#62594e}
.landscape-selection-chip{background:#a42f32;color:#fff7eb;border-color:#a42f32}
.landscape-compare p,.landscape-viewbar,.overlap-summary strong{color:#4d3b31}
.history-card,.history-context-image,.history-enlarge,.history-attribution,.history-image-button{border-color:#c5bbb0}.history-enlarge{color:#70272a;background:#fff8ed}
.history-dialog{color:#242222}.history-dialog h2{color:#242222}
.archive-stats strong,.atlas-metrics strong{color:#822529}
.ex-search,.ex-filter,.ex-finding,.ex-bridge-person,.ex-evidence,.ex-route,.ex-inspector .ex-period,.ex-claim-sources li,.ex-scope,.ex-bridge-head{background:#eee8df;border-color:#c5bbb0;color:#3b3029}
.ex-finding{border-left-color:#a42f32}.ex-finding h3 b,.ex-block-title,.ex-name{color:#822529}
.ex-position,.ex-gate-number{background:#e5dccd;color:#4c3f31;border-color:#b5a38f}
.year-tab{color:#c0b5a9}.year-tab.active{color:#fff5e8;border-color:#e5bc4b}
.event-card,.method-grid,.pattern-strip{color:#292421}.method-panel h3,.method-steps h3{color:#292421}
.coverage h2{color:#fff7ec}.coverage-row{border-color:#bcb2a7}.coverage-row span{color:#62594f}
.coverage-explainer a{color:#85282c}.coverage-explainer dl{background:#fffaf3;color:#2c2622}
.mobile-map-list>button.is-selected{background:#e8ddce;color:#782428;border-left-color:#a42f32}
.research-status:not(.piste):not(.negative):not(.context){background:#e9e1d6;color:#5d4635}
.landscape-node[data-group=crime] text{fill:#fff9ef}.landscape-node[data-group=crime] .ls-sub{fill:#f2dcd0}.landscape-node[data-group=crime].selected rect{stroke:#e5bc4b}
.archive-fold .section-head p,.explorer-panel .section-head p,.atlas-fold .section-head p,.history-archive-fold .section-head p{color:#62594f}
.piste-branches small{color:#665039}
.landscape-types .line-key{color:#e2d7cc}.landscape-types .line-key.doc i{border-color:#c5bbb0}.landscape-types .line-key.piste i{border-color:#deb764}.landscape-types .line-key.context i{border-color:#9ab1d0}.landscape-types .line-key.negative i{border-color:#ed8a82}
/* Shared accordion header: identical hierarchy, rhythm and toggle for all three libraries. */
:is(.history-archive-fold,.archive-fold,.atlas-fold)>summary{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:20px;align-items:center;min-height:84px;padding:20px 24px;list-style:none;border:0;cursor:pointer}
:is(.history-archive-fold,.archive-fold,.atlas-fold)>summary::-webkit-details-marker{display:none}
:is(.history-archive-fold,.archive-fold,.atlas-fold)>summary>.kicker{font:500 10px/1.6 'DM Mono',monospace;letter-spacing:.1em;color:#a42f32;margin:0}
:is(.history-archive-fold,.archive-fold,.atlas-fold)>summary>h2{font:800 16px/1.5 Manrope,Arial,sans-serif;letter-spacing:-.01em;color:#242222;margin:0;min-width:0}
:is(.history-archive-fold,.archive-fold,.atlas-fold)>summary>.fold-action{margin:0;font:600 12px/1.5 Manrope,Arial,sans-serif;white-space:nowrap;color:#65594e;justify-self:end}
:is(.history-archive-fold,.archive-fold,.atlas-fold)>summary>.fold-action::after{content:'Openklappen +'}
:is(.history-archive-fold,.archive-fold,.atlas-fold)[open]>summary{border-bottom:1px solid #c5bbb0}
:is(.history-archive-fold,.archive-fold,.atlas-fold)[open]>summary>.fold-action::after{content:'Inklappen −'}
/* The hypothesis matrix uses the same paper surface and red accent as the research cards. */
.hypothesis-card{background:#f8f4ed;color:#242222;border:1px solid #bcb2a7;border-top:3px solid #a42f32}
.hypothesis-summary,.hypothesis-bottom,.hypothesis-bottom>div+div,.evidence-item,.confidence{border-color:#cec4b8}
.hypothesis-summary{background:#eee8df}.hypothesis-summary h3{color:#242222;font-size:22px;line-height:1.4}
.hypothesis-summary>span,.confidence strong{color:#a42f32}
.hypothesis-summary p,.evidence-item p{color:#5f574e;font-size:13px;line-height:1.8}
.confidence small,.hypothesis-bottom small,.evidence-item span{color:#6b5d50;font-size:10px;line-height:1.7}
.evidence-item h4{color:#292421;font-size:14px;line-height:1.6}.hypothesis-bottom p{color:#3e352e;font-size:13px;line-height:1.8}
.hyp-btn{background:#f8f4ed;color:#49352e;border:1px solid #b7a99a;padding:11px 14px;font:700 12px/1.6 Manrope,Arial,sans-serif;min-height:44px}
.hyp-btn.active,.hyp-btn:hover{background:#a42f32;border-color:#a42f32;color:#fff8ef}
.matrix-note{color:#c9c1b9;font-size:12px;line-height:1.8}
.archive-search{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(0,1fr))}
.archive-dossier-note{font-size:12px;line-height:1.8;color:#65594e;margin:14px 0}
.archive-search select:disabled{opacity:.55;cursor:not-allowed}
.ex-layout .research-status.context{background:#e7e0d5;color:#62574e}
@media(min-width:801px) and (max-width:1100px){.archive-search{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.archive-search{grid-template-columns:1fr}.archive-dossier-note{font-size:13px}}
.explorer-toggle-label{color:#65594e}.explorer-panel{border-color:#c5bbb0}
.ex-layout,.ex-work,.ex-inspector,.ex-search,.ex-badge{color:#302925}
.ex-layout .ex-result,.ex-layout .ex-result em,.ex-layout .ex-muted,.ex-layout .ex-bridge small,.ex-layout .ex-person-card small,.ex-layout .ex-side-person small,.ex-layout .ex-side-relation>small,.ex-layout .ex-inspector p,.ex-layout .ex-inspector li,.ex-layout .ex-gate p,.ex-layout .ex-gate li,.ex-layout .ex-scope p,.ex-layout .ex-bottom-note{color:#62574e}
.ex-layout .ex-name,.ex-layout .ex-block-title,.ex-layout .ex-finding h3 b,.ex-layout a,.ex-start button,.ex-button,.ex-claim-link{color:#8b282c}
.ex-layout .ex-claim-link,.ex-layout .ex-empty{background:#f3eee5;border-color:#c5bbb0}.ex-layout .ex-claim-link span{color:#62574e}
.ex-layout .ex-button:hover,.ex-start button:hover{background:#a42f32;color:#fff8ef;border-color:#a42f32}
.ex-layout button:focus-visible,.ex-start button:focus-visible{outline:3px solid #bb8b18;outline-offset:3px}
.ex-layout .ex-filter input{accent-color:#a42f32}
@media(max-width:800px){
 :is(.history-archive-fold,.archive-fold,.atlas-fold)>summary{grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:16px;min-height:96px}
 :is(.history-archive-fold,.archive-fold,.atlas-fold)>summary>.kicker{grid-column:1;grid-row:1}
 :is(.history-archive-fold,.archive-fold,.atlas-fold)>summary>h2{grid-column:1;grid-row:2;font-size:15px;width:auto}
 :is(.history-archive-fold,.archive-fold,.atlas-fold)>summary>.fold-action{grid-column:2;grid-row:1 / span 2;font-size:11px;white-space:normal;text-align:right;max-width:85px}
 .hypothesis-summary h3{font-size:20px}.evidence-item h4{min-height:0}.hypothesis-summary p,.evidence-item p,.hypothesis-bottom p{font-size:14px}
}
/* One sizing contract for both diagrams. 100% is the LEFT frame, never a pixel minimum. */
.landscape-shell,.people-layout{min-width:0}
.landscape-shell>.landscape-scroll,.people-layout>.people-canvas{min-width:0;width:100%}
.landscape-shell .landscape-scroll svg,.people-layout .graph-scroll svg{display:block;min-width:0!important;max-width:none!important;width:calc(100% * var(--graph-zoom,1))!important;height:auto}
.landscape-scroll,.graph-scroll{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:auto}
@media(min-width:1000px){
 .landscape-shell,.people-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,25vw,340px);align-items:start}
 .landscape-shell>.landscape-scroll,.people-layout>.people-canvas{display:block;grid-column:1;grid-row:1}
 .landscape-shell>.landscape-scroll,.people-layout .graph-scroll{max-height:720px;min-height:0}
 .landscape-shell>.drawn-relations,.people-layout>.drawn-relations{grid-column:1;grid-row:2;min-width:0}
 .landscape-shell>#landscapeDetail,.people-layout>#peopleDetail{grid-column:2;grid-row:1 / span 2;position:sticky;top:90px;max-height:calc(100dvh - 110px);overflow:auto;border-left:1px solid #c5bbb0;border-top:0;padding:22px;min-width:0;align-self:start}
}
@media(min-width:801px) and (max-width:999px){
 .landscape-shell,.people-layout{display:grid;grid-template-columns:minmax(0,1fr)}
 .landscape-shell>.landscape-scroll,.people-layout>.people-canvas,.landscape-shell>.drawn-relations,.people-layout>.drawn-relations,.landscape-shell>#landscapeDetail,.people-layout>#peopleDetail{grid-column:1;grid-row:auto}
 .landscape-shell>#landscapeDetail,.people-layout>#peopleDetail{position:static;max-height:600px;border-left:0;border-top:1px solid #c5bbb0}
}
@media(max-width:800px){
 .hero-with-history::after{background:linear-gradient(180deg,#17171705,#17171738 110px,#171717f5 240px,#171717 285px)}
 .hero-with-history .case-stats article{border-color:#6a5752}
 .landscape-shell,.people-layout{display:flex;flex-direction:column}
 .landscape-shell.mobile-list-mode>.landscape-scroll,.people-layout.mobile-list-mode>.people-canvas{display:none}
 .landscape-shell.mobile-chart-mode>.landscape-scroll,.people-layout.mobile-chart-mode>.people-canvas{display:block}
 .landscape-shell>.landscape-scroll,.people-layout>.people-canvas{order:1}
 .landscape-shell>.drawn-relations,.people-layout>.drawn-relations{order:2}
 .landscape-shell>.mobile-detail-back,.people-layout>.mobile-detail-back{order:3}
 .landscape-shell>#landscapeDetail,.people-layout>#peopleDetail{order:4;position:static;max-height:none;overflow:visible;width:100%;border-left:0;border-top:1px solid #c5bbb0}
 .mobile-map-list>button{color:#4f3030;border-color:#d0c6b9}.mobile-map-list>button small{color:#685a54}.mobile-map-list>button.is-selected{background:#e8ddce;border-color:#a33c3b}
 .mobile-map-note,.mobile-map-count{color:#675653}
}
