/* Compact spatial explorer. Private source records remain outside the site. */
.concept-map-window .window-content { padding:10px; }
.concept-map-content { display:flex; flex-direction:column; gap:8px; overflow:auto; container-type:inline-size; min-height:0; }
.concept-map-content :is(button,input) { font:inherit; color:var(--text); }
.concept-map-toolbar { display:flex; align-items:center; gap:6px; flex:0 0 34px; position:sticky; top:0; z-index:3; background:var(--surface-content); }
.concept-map-toolbar>button,.wireframe-controls>button { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; padding:0; border:0; border-radius:7px; background:transparent; cursor:pointer; }
.concept-map-toolbar>button:hover,.wireframe-controls>button:hover { background:var(--state-hover); }
.concept-map-toolbar svg,.wireframe-controls svg { width:18px; height:18px; }
.concept-map-content :is(button,input,[role='treeitem'],[tabindex]):focus-visible { outline:2px solid var(--focus-color); outline-offset:-2px; }
.concept-map-search { display:flex; align-items:center; gap:7px; flex:1; max-width:300px; min-width:80px; padding:0 10px; height:32px; border:1px solid #737f7326; border-radius:7px; background:var(--surface-content); }
.concept-map-search svg { width:15px; height:15px; flex-shrink:0; color:var(--muted); }
.concept-map-search input { border:0; outline:none!important; background:transparent; width:100%; min-width:0; padding:0; font-size:12px; }
.concept-map-search:focus-within { outline:2px solid var(--focus-color); outline-offset:-2px; }
.concept-map-stage { display:grid; grid-template-columns:minmax(0,1fr); min-height:480px; flex:1; gap:12px; }
.has-wireframe .concept-map-stage { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); }
.concept-map-viewport { position:relative; min-width:0; min-height:0; overflow:hidden; border-radius:8px; touch-action:none; cursor:grab; background:radial-gradient(circle,#65736518 .8px,transparent 1px) 0 0/20px 20px,var(--surface-subtle); }
.concept-map-viewport.is-panning { cursor:grabbing; }
.concept-map-world { position:absolute; transform-origin:0 0; }
.concept-map-world>svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.concept-map-world>svg path { fill:none; stroke:#849087; stroke-width:1.4px; }
.concept-map-world .editorial { stroke-dasharray:4 5; opacity:.65; }
.concept-map-world .documented { stroke:#506f77; stroke-width:1.8px; opacity:.8; }
.concept-map-card { position:absolute; display:flex; align-items:center; gap:7px; padding:8px 10px; box-sizing:border-box; border:1px solid #a3aca44d; border-radius:10px; background:var(--surface-content); color:var(--text); box-shadow:0 2px 5px #23372c07; cursor:pointer; }
.concept-map-card>svg { width:20px; height:20px; flex-shrink:0; color:#56695c; }
.concept-map-label { min-width:0; flex:1; font:500 17px/1.18 system-ui,sans-serif; overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.concept-map-card.is-root { background:#e9eee7; border-color:#879a866b; }
.concept-map-card.is-root .concept-map-label { font-size:23px; font-weight:650; }
.concept-map-card.is-root>svg { width:28px; height:28px; }
.concept-map-card.is-demonstrated { background:#edf3f3; border:1.5px solid #66858b; }
.concept-map-card.is-demonstrated>svg { color:#466f78; }
.concept-map-card.is-selected { outline:2px solid #475b50; outline-offset:2px; }
.concept-map-toggle { display:grid; place-items:center; padding:0; flex:0 0 16px; width:16px; height:28px; margin-right:-7px; border:0; background:transparent; color:var(--muted); cursor:pointer; }
.concept-map-toggle svg { width:15px; height:15px; }
.concept-map-toggle:hover { background:var(--state-hover); border-radius:4px; }
.concept-map-results { display:flex; flex-direction:column; gap:3px; flex:0 0 auto; max-height:150px; overflow:auto; border-bottom:1px solid #a3aca43d; padding-bottom:6px; }
.concept-map-results[hidden] { display:none; }
.concept-map-results button { border:0; background:var(--surface-subtle); text-align:left; padding:7px 9px; border-radius:4px; cursor:pointer; font-size:12px; }
.concept-map-results p { font-size:12px; margin:4px; }
.concept-map-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; clip-path:inset(50%); overflow:hidden; white-space:nowrap; border:0; }
.concept-map-launch { margin:16px 0; }
@container (max-width:590px) {
 .has-wireframe .concept-map-stage { display:flex; flex-direction:column; overflow:auto; gap:16px; min-height:0; }
 .has-wireframe .concept-map-viewport { flex:0 0 360px; }
 .has-wireframe .concept-wireframe { flex:0 0 560px; }
}
@media (prefers-reduced-motion:reduce) { .concept-map-content * { scroll-behavior:auto!important; transition:none!important; } }
