.research-map { --rm-blue:#76baff; --rm-teal:#75cbb5; --rm-amber:#e6b17c; --rm-purple:#b9a1e3; }
:root[data-theme="light"] .research-map { --rm-blue:#286eac; --rm-teal:#217b65; --rm-amber:#9c642d; --rm-purple:#7c58a9; }
.rm-layout { position:relative; display:grid; grid-template-columns:1fr 210px 1fr; grid-template-rows:1fr 1fr; gap:22px 26px; }
.rm-connections { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.rm-core { grid-area:1/2/3/3; align-self:center; text-align:center; z-index:1; padding:35px 0; border:1px solid var(--divider-strong); border-radius:50%; background:var(--bg); }
.rm-core-kicker { font:10px var(--font-mono); color:var(--fg-muted); letter-spacing:1px; }
.rm-core strong { display:block; font-size:38px; font-weight:500; margin:12px 0 5px; }
.rm-core>span:last-of-type { font:11px var(--font-mono); letter-spacing:3px; color:var(--fg-secondary); }
.rm-core p { font-size:11px; color:var(--fg-muted); margin:16px 0 0; }
.rm-node { position:relative; display:block; border:1px solid var(--divider-strong); border-radius:12px; padding:20px; text-decoration:none; color:var(--node-color); background:var(--bg); transition:border-color .2s,transform .2s; }
.rm-node:hover { border-color:var(--node-color); transform:translateY(-2px); }
.rm-node:focus-visible { outline:2px solid var(--node-color); outline-offset:4px; }
.rm-property { grid-area:1/1; --node-color:var(--rm-blue); }.rm-single { grid-area:1/3; --node-color:var(--rm-amber); }.rm-mixture { grid-area:2/1; --node-color:var(--rm-teal); }.rm-report { grid-area:2/3; --node-color:var(--rm-purple); }
.rm-number { display:block; font:10px var(--font-mono); letter-spacing:1px; }
.rm-node svg { display:block; width:126px; height:77px; margin:10px 0 7px; }
.rm-node h3 { color:var(--fg); font-size:18px; font-weight:500; line-height:1.5; margin:0 0 8px; }
.rm-project { font-size:13px; line-height:1.6; }.rm-project span { float:right; }
.rm-node p { color:var(--fg-muted); font-size:11px; line-height:1.8; margin:12px 0 0; }
.rm-caption { font-size:12px; line-height:1.8; color:var(--fg-muted); border-top:1px solid var(--divider); padding-top:18px; margin-top:24px; }
@media(max-width:850px) { .rm-layout { grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto; gap:16px; }.rm-core { grid-area:1/1/2/3; border-radius:12px; padding:20px; }.rm-core strong { font-size:28px; }.rm-core p { margin-top:10px; }.rm-property { grid-area:2/1; }.rm-single { grid-area:2/2; }.rm-mixture { grid-area:3/1; }.rm-report { grid-area:3/2; }.rm-connections { display:none; } }
@media(max-width:520px) { .research-map { padding:18px; }.research-map .figure-header { flex-wrap:wrap; gap:8px; }.rm-layout { display:flex; flex-direction:column; }.rm-node { padding:18px; }.rm-node svg { position:absolute; right:14px; top:8px; width:82px; height:50px; opacity:.65; }.rm-node h3 { margin-top:30px; }.rm-core { order:-1; } }
@media(prefers-reduced-motion:reduce) { .rm-node { transition:none; }.rm-node:hover { transform:none; } }
