/* An open constellation, with the explanations outside the map. */
.brain-section {--brain-paper:#f6f0e5;--bone:#532d3a;--bone-dim:#78685d;--line:#cdbda750;--accent:#794758;--accent-soft:#eee3e5;--focus-ring:#794758;background:var(--brain-paper);padding-block:90px;border-bottom:1px solid var(--line);}
.brain-section .section-head {margin-bottom:35px;}
.brain-section .section-note {font:400 15px/1.75 var(--sans);max-width:35ch;}
.brain-space {border:0;background:none;box-shadow:none;}
.brain-navigation {display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;}
.brain-topics {display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.brain-topics button {display:flex;align-items:center;gap:8px;padding:12px 0;background:none;border:0;border-bottom:1px solid transparent;color:var(--bone-dim);font:500 13px var(--sans);cursor:pointer;transition:color .25s,border-color .25s;}
.brain-topics button[aria-pressed="true"] {color:var(--bone);border-color:var(--accent);}
.brain-topics button:hover {color:var(--bone);}
.brain-topics i {width:6px;height:6px;border-radius:50%;background:var(--topic-color);}
.brain-topics button>span {font:400 10px var(--sans);opacity:.65;}
.brain-search {width:250px;max-width:100%;}
.brain-search label {display:block;font:400 10px var(--sans);color:var(--bone-dim);margin-bottom:6px;}
.brain-search>div {display:flex;align-items:center;border-bottom:1px solid var(--line);transition:border-color .25s;}
.brain-search>div:focus-within {border-color:var(--accent);}
.brain-search input {width:100%;min-width:0;padding:9px 0;min-height:44px;color:var(--bone);background:none;border:0;font:400 13px var(--sans);border-radius:0;}
.brain-search input::placeholder {color:var(--bone-dim);}
.brain-search button {padding:8px 0 8px 12px;min-height:44px;background:none;border:0;font:400 11px var(--sans);cursor:pointer;}
.brain-map-head {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px;}
.brain-trail {display:flex;align-items:center;gap:11px;flex-wrap:wrap;font:400 12px/1.5 var(--sans);color:var(--bone-dim);}
.brain-trail button {border:0;background:none;padding:7px 0;color:var(--bone);font:inherit;cursor:pointer;}
.brain-trail button:hover {text-decoration:underline;text-underline-offset:5px;}
.brain-trail [aria-current] {color:var(--bone);}
.brain-controls {gap:6px;flex-wrap:wrap;}
.brain-controls button {height:40px;min-width:40px;border:1px solid var(--line);border-radius:4px;font:400 11px var(--sans);padding:0 11px;}
#brainBack,#brainZoomIn,#brainZoomOut {font:400 20px var(--sans);padding-inline:9px;}
.brain-controls button:disabled {opacity:.4;cursor:default;}
.brain-controls button[aria-pressed="true"] {border-color:var(--accent);color:var(--accent);}
.brain-controls button:disabled:hover {background:none;border-color:var(--line);color:inherit;}
.brain-canvas {position:relative;background:none;overflow:hidden;min-width:0;margin-top:6px;}
.brain-canvas svg {display:block;width:100%;height:auto;min-height:0;touch-action:pan-y;cursor:grab;overflow:visible;}
.brain-canvas svg:active {cursor:grabbing;}
.brain-edge {fill:none;stroke:#a99984;stroke-width:1;stroke-dasharray:2 6;opacity:.52;transition:stroke .35s,opacity .35s;pointer-events:none;}
.brain-edge.connected {stroke:var(--accent);stroke-width:1.4;stroke-dasharray:none;opacity:.7;}
.brain-node {cursor:pointer;transition:opacity .3s;}
.brain-node .node-hit {r:28;}
.brain-node .node-dot {transition:r .3s,stroke-width .3s;}
.brain-node text {font:400 16px var(--sans);fill:var(--bone);paint-order:stroke;stroke:var(--brain-paper);stroke-width:7px;stroke-linejoin:round;}
.brain-node.is-cluster .node-name {font:400 24px var(--serif);fill:var(--bone);}
.brain-node.is-cluster .node-count {font:400 12px var(--sans);fill:var(--bone-dim);}
.brain-node.is-person .node-name {font:400 25px var(--serif);}
.brain-node.is-person .node-dot {r:12;}
.brain-self-flower {opacity:.5;pointer-events:none;}
.brain-node.is-active .node-dot {stroke:var(--accent);stroke-width:2.5;}
.brain-node.is-active text {fill:var(--bone);font-weight:600;}
.brain-node.is-cluster.is-active .node-name,.brain-node.is-person.is-active .node-name {font-weight:400;}
.brain-node.is-dim {opacity:.72;}
.brain-node:hover,.brain-node:focus-visible {opacity:1;}
.brain-node:focus-visible .node-dot {stroke:var(--bone);stroke-width:3;}
.brain-map-foot {display:flex;align-items:start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:5px;font:400 11px/1.65 var(--sans);color:var(--bone-dim);}
#brainStatus {color:var(--bone);}
.brain-detail {display:grid;grid-template-columns:1fr 1fr;gap:65px;min-height:0;border:0;border-top:1px solid var(--line);padding:35px 0 0;margin-top:35px;}
.brain-detail .detail-index {display:block;font:400 10px/1.6 var(--sans);letter-spacing:.055em;margin:0 0 17px;color:var(--bone-dim);}
.brain-detail h3 {font:400 clamp(32px,3.8vw,46px)/1.13 var(--serif);letter-spacing:-.03em;}
.brain-selected>p {font:400 15px/1.8 var(--sans);color:var(--bone-dim);margin-top:18px;max-width:50ch;}
.brain-selected .brain-topic-description {margin-top:12px;}
.brain-selected .brain-project-meta {font:400 11px/1.7 var(--sans);margin-top:13px;color:var(--bone);}
.brain-project-image {display:block;width:180px;height:104px;object-fit:contain;object-position:left center;margin-top:22px;border-radius:4px;}
.brain-selected .brain-project-action {margin-top:20px;padding-top:0;font:500 12px var(--sans);}
.brain-related h4 {font:500 13px/1.6 var(--sans);margin-bottom:6px;}
.brain-detail .detail-links {display:block;margin:0;}
.brain-detail .detail-links button {display:flex;align-items:start;justify-content:space-between;gap:22px;width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;font:400 13px var(--sans);text-align:left;}
.brain-detail .detail-links button:hover {background:none;color:var(--bone);}
.brain-detail .detail-links strong {display:block;font-weight:500;}
.brain-detail .detail-links small {display:block;margin-top:6px;font:400 12px/1.7 var(--sans);color:var(--bone-dim);}
.brain-detail .detail-links button>span:last-child {font:400 20px var(--sans);transition:transform .3s;}
.brain-detail .detail-links button:hover>span:last-child,.brain-detail .detail-links button:focus-visible>span:last-child {transform:translate(3px,-3px);}
.brain-browse-topic {margin-top:20px;padding:8px 0;background:none;border:0;border-bottom:1px solid var(--accent);font:500 12px var(--sans);cursor:pointer;}
.brain-browse-topic>span {margin-left:20px;}
.brain-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-height:none;overflow:visible;padding:35px 0 15px;}
.brain-list[hidden] {display:none;}
.brain-list-group {padding:0;}
.brain-list-group h3 {font:400 27px/1.2 var(--serif);margin-bottom:20px;}
.brain-list-group h3>span {font:400 11px var(--sans);margin-left:6px;color:var(--bone-dim);}
.brain-list button {display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;background:none;font:400 14px var(--sans);border-bottom:1px solid var(--line);}
.brain-list button>span {float:none;font:inherit;color:inherit;}
.brain-list button strong {display:block;font-weight:500;}
.brain-list button small {display:block;font:400 11px/1.6 var(--sans);color:var(--bone-dim);margin-top:6px;}
.brain-list button:hover,.brain-list button[aria-pressed="true"] {background:none;color:var(--accent);}
.brain-empty {position:absolute;top:45%;left:10%;right:10%;text-align:center;color:var(--bone-dim);font:400 15px/1.8 var(--sans);}
.brain-no-results {grid-column:1/-1;padding-block:50px;color:var(--bone-dim);font:400 16px var(--sans);}
:root[data-theme="dark"] .brain-section {--brain-paper:#2c2726;--bone:#efdfd1;--bone-dim:#c1ad9d;--line:#ac967850;--accent:#ddb8bd;--accent-soft:#493b40;--focus-ring:#ddb8bd;}
:root[data-theme="dark"] .brain-node .node-dot {filter:brightness(1.45);}
@media(max-width:900px) {
 .brain-navigation {gap:22px;}
 .brain-search {width:100%;}
 .brain-detail {gap:38px;}
}
@media(max-width:600px) {
 .brain-section {padding-block:70px;}
 .brain-section .section-head {margin-bottom:24px;}
 .brain-section .section-note {font-size:13px;margin-top:20px;}
 .brain-topics {gap:6px 16px;}
 .brain-topics button {font-size:11px;padding-block:11px;}
 .brain-search input {font-size:16px;}
 .brain-map-head {gap:13px;margin-top:20px;}
 .brain-controls {width:100%;justify-content:flex-start;gap:6px;}
 .brain-controls button {font-size:10px;padding-inline:9px;min-height:40px;}
 .brain-trail {font-size:11px;gap:8px;}
 .brain-node text {font-size:19px;stroke-width:8px;}
 .brain-node.is-cluster .node-name {font-size:24px;}
 .brain-node.is-cluster .node-count {font-size:15px;}
 .brain-node.is-person .node-name {font-size:25px;}
 .brain-map-foot {gap:8px;font-size:10px;}
 .brain-detail {grid-template-columns:1fr;gap:30px;margin-top:27px;padding-top:27px;}
 .brain-selected>p {font-size:14px;}
 .brain-list {grid-template-columns:1fr;gap:35px;}
 .brain-list-group h3 {font-size:29px;}
 .brain-list button {font-size:15px;min-height:58px;}
}
