/* Research map keeps the existing console shell and institutional palette. */
.research-visual[data-research-lab]{background:radial-gradient(circle at 50% 35%,#12365928,transparent 62%),#080d14}
.rm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;color:#8da5bf;font-size:11px}
.rm-toolbar>span:last-child{font:9px 'Ubuntu Mono',monospace;letter-spacing:.08em}
.rm-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#6390ba55 transparent}
.rm-canvas{position:relative;min-width:440px;height:172px;overflow:clip;background-image:radial-gradient(#6390ba18 1px,transparent 1px);background-size:22px 22px}
.rm-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rm-base-path{stroke:#6390ba38;stroke-width:1;vector-effect:non-scaling-stroke}
.rm-segment{stroke:#6390ba45;stroke-width:1.4;vector-effect:non-scaling-stroke;transition:stroke .4s,stroke-opacity .4s}
.rm-segment.is-done,.rm-segment.is-current{stroke:#58a8ff;stroke-opacity:.8}
.rm-segment.rm-copper{stroke:#d7a07766;stroke-dasharray:5 5}
.rm-segment.rm-copper.is-done,.rm-segment.rm-copper.is-current{stroke:#d7a077;stroke-opacity:1}
.rm-signal{fill:#9bd3ff;opacity:0}.rm-signal-halo{opacity:.2}
.rm-ring{--rm-pulse:#58a8ff;position:absolute;left:10%;top:36.04651162790698%;width:74px;height:74px;margin:-37px 0 0 -37px;border:1px solid #8bcaffcc;border-radius:50%;box-shadow:0 0 30px -5px #58a8ff88;pointer-events:none;transition:border-color .4s,box-shadow .4s}
.rm-ring:before,.rm-ring:after{content:'';position:absolute;inset:-1px;border:2px solid var(--rm-pulse);border-radius:50%;opacity:0}
.rm-running .rm-ring:before,.rm-running .rm-ring:after{animation:research-map-ring 1.8s ease-out infinite}
.rm-running .rm-ring:before{animation-delay:-.4s}.rm-running .rm-ring:after{animation-delay:-1.3s}
.rm-ring.is-disclosure{--rm-pulse:#d7a077;border-color:#d7a077cc;box-shadow:0 0 30px -5px #d7a07788}
.rm-running .rm-node.is-active .rm-tile{animation:research-map-tile 1.8s ease-in-out infinite}
.rm-node{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;top:calc(36.04651162790698% - 24px);width:80px;transform:translateX(-50%);padding:0;background:none;border:0;color:#a7b6c8;line-height:1.2;text-align:center}
.rm-node[data-research-step="0"]{left:10%}.rm-node[data-research-step="1"]{left:30%}.rm-node[data-research-step="2"]{left:50%}
.rm-node[data-research-step="3"]{left:70%}.rm-node[data-research-step="4"]{left:90%}
.rm-tile{display:grid;place-items:center;width:48px;height:48px;border:1px solid #6390ba48;border-radius:8px;background:linear-gradient(165deg,#111d2b,#0b111a);transition:border-color .3s,box-shadow .3s,color .3s;color:#93b7d9}
.rm-tile>.icon{width:25px;height:25px}
.rm-node strong{font:500 11px/1.25 Montserrat,sans-serif;letter-spacing:-.02em;color:#bdcbdb;overflow-wrap:normal}
.rm-node small{font-size:10px;color:#7e8ea0}
.rm-node.is-active .rm-tile{border-color:#58a8ff;color:#8bcaff;box-shadow:0 0 22px -8px #58a8ff80}
.rm-node.is-active strong{color:#eef1f6}.rm-node[data-research-step="4"].is-active .rm-tile{border-color:#d7a077;color:#d7a077}
.rm-legend{display:flex;gap:10px 20px;flex-wrap:wrap;padding:13px 0;border-block:1px solid var(--line)}
.rm-legend>span{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#9fb0c3}
.rm-legend i{width:20px;border-top:2px solid #58a8ff}.rm-legend .rm-legend-copper{border-top:2px dashed #d7a077}
.rm-terminal{margin:0 0 16px;border:1px solid #6390ba38;border-radius:4px;background:linear-gradient(180deg,#0b111a,#080c12);overflow:hidden}
.rm-terminal [hidden]{display:none!important}
.rm-terminal-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line);background:#ffffff02;font:9px 'Ubuntu Mono',monospace;letter-spacing:.04em;color:#9fb5ce}
.rm-terminal-dots{display:flex;gap:4px}.rm-terminal-dots i{width:6px;height:6px;border-radius:50%;background:#674049}.rm-terminal-dots i:nth-child(2){background:#6b5a38}.rm-terminal-dots i:nth-child(3){background:#3d6350}
.rm-terminal-example{margin-left:auto;color:#6c849f;font-size:8px}
.rm-terminal-body{padding:10px 12px;font:11px/1.35 'Ubuntu Mono',monospace}
.rm-terminal-line{display:grid;grid-template-columns:10px minmax(0,1fr);gap:7px;min-height:1.35em;color:#bfd2e6}
.rm-terminal-line>[data-research-terminal-line]{white-space:pre-wrap;overflow-wrap:anywhere}
.rm-terminal-prompt{color:#6b8daf}.rm-terminal-output{color:#83b3d6}
[data-research-phase="disclosure"] .rm-terminal-output{color:#d7a077}
.rm-terminal-line.is-typing>[data-research-terminal-line]:after{content:'';display:inline-block;width:6px;height:1em;margin-left:3px;background:#8bcaff;vertical-align:-1px}
.rm-running .rm-terminal-line.is-typing>[data-research-terminal-line]:after{animation:research-terminal-caret 1s step-end infinite}
.rm-terminal-progress{height:3px;background:#ffffff08}.rm-terminal-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#356da6,#8bcaff)}
[data-research-phase="disclosure"] .rm-terminal-progress>span{background:linear-gradient(90deg,#aa7758,#d7a077)}
.rm-readout{padding:18px 0 12px;min-height:155px}.rm-count{font:11px 'Ubuntu Mono',monospace;color:#7eabd3;letter-spacing:.06em}
.rm-readout h3{font:500 20px/1.3 Montserrat,sans-serif;letter-spacing:-.025em;margin:10px 0}
.research .rm-readout p{font-size:14px;line-height:1.7;margin:0;color:#a7b6c8}
@keyframes research-map-ring{0%{transform:scale(.94);opacity:.9}65%{opacity:.35}100%{transform:scale(1.38);opacity:0}}
@keyframes research-map-tile{0%,100%{box-shadow:0 0 10px -4px currentColor}50%{box-shadow:0 0 24px -2px currentColor}}
@keyframes research-terminal-caret{0%,60%{opacity:1}61%,100%{opacity:.25}}
@media(max-width:760px){
 .research-visual[data-research-lab]{padding:18px}
 .rm-node strong{font-size:11px}.rm-node small{font-size:10px}
 .rm-readout{min-height:165px}.rm-readout h3{font-size:20px}.rm-toolbar{font-size:10px}.rm-toolbar>span:last-child{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.rm-ring:before,.rm-ring:after,.rm-tile,.rm-terminal-line>[data-research-terminal-line]:after{animation:none!important}.rm-ring,.rm-segment,.rm-tile{transition:none}.rm-signal{display:none}}
