/* Homepage figure only; the original academic profile uses shared site styles. */
.universe-explore { margin: 12px 0 0; text-align: right; font-size: .9375rem; }
.universe-welcome { padding-top: 28px; }
.research-universe { --km-geoai: #6ee7f2; --km-robotics: #b5a4ff; --km-hydro: #ffcc80; --km-shared: #81e6bb; margin: 0; width: 100%; }
.research-universe .km-visual-top { flex-wrap: wrap; gap: 8px 20px; }
.universe-heading { display: flex; align-items: center; gap: 10px; min-width: 0; max-width: 100%; }
.universe-hint { flex: 1 1 320px; min-width: 0; color: #e0eef7; font-size: .8125rem; font-weight: 400; letter-spacing: 0; line-height: 1.6; }
.research-universe .km-canvas { height: clamp(540px, 62vw, 800px); display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.research-universe #km-svg { min-height: 0; overflow: hidden; }
.research-universe .universe-controls { position: static; max-width: none; margin: 0; padding: 12px 16px; }
.no-js .research-universe .universe-controls { display: none; }
.research-universe:not(.km-graph-ready) svg { visibility: hidden; }
.universe-fallback { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); padding: 24px; text-align: center; margin: 0; color: #e6f0f7; }
.universe-fallback a { color: #9ae8f0; }
.universe-fallback[hidden] { display: none; }
.no-js .research-universe .km-canvas { height: auto; }
.no-js .research-universe svg { display: none; }
.no-js .universe-fallback { position: static; transform: none; }
@media (max-width: 767px) {
    .research-universe .universe-controls { padding: 10px; }
    .universe-welcome { padding-top: 24px; }
    .research-universe .km-canvas { height: clamp(360px, 95vw, 480px); }
    .research-universe .km-node:not([data-type="hub"]):not([data-type="area"]):not([data-priority-label="true"]):not(:focus-visible):not(:hover) .km-node-label { display: none; }
}

/* Clicked messages stay selectable without intercepting graph drag gestures. */
.research-universe .km-tooltip[data-pinned="true"]:not([hidden]) { display: flex; flex-direction: column; padding-right: 44px; max-height: calc(100% - 90px); pointer-events: auto; user-select: text; -webkit-user-select: text; cursor: text; }
.research-universe .km-tooltip-message { display: block; min-height: 0; overflow: auto; }
.research-universe .km-tooltip-close:not([hidden]) { position: absolute; top: 4px; right: 4px; width: 32px; height: 32px; border: 0; padding: 0; color: inherit; background: transparent; box-shadow: none; font: inherit; font-size: 1.25rem; line-height: 1; cursor: pointer; user-select: none; }
.research-universe .km-tooltip-close:hover { color: #007b94; }
