/* Three text projections share selections, never their coordinates. */
.research-atlas { position: relative; --atlas-sector-pink: color-mix(in srgb, var(--slot-color-5) 55%, var(--slot-color-3)); --atlas-sector-sand: color-mix(in srgb, var(--slot-color-2) 50%, var(--text-primary)); --atlas-neutral: color-mix(in srgb, var(--text-primary) 55%, var(--bg-primary)); }
.atlas-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0 0.75rem; min-height: 42px; padding: 0.25rem 0; font: 0.68rem var(--exhibit-mono); color: var(--text-muted); }
.atlas-color-control { grid-column: 1; grid-row: 1; }
.atlas-toolbar select { color: var(--text-primary); background: var(--bg-primary); border: 0; padding: 0.4rem 0.15rem; font: inherit; cursor: pointer; }
.atlas-toolbar select:focus-visible { outline: 1px solid var(--brand-accent); outline-offset: 1px; }
.atlas-tools { grid-column: 3; grid-row: 1; display: flex; align-items: center; gap: 0.1rem; }
.atlas-count { margin-right: 0.5rem; font-size: 0.6rem; }
.atlas-legend { grid-column: 2; grid-row: 1; display: flex; gap: 0.1rem 0.65rem; align-items: center; }
.atlas-toolbar[data-color-mode="industry"] .atlas-legend { grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; gap: 0.1rem 0.5rem; padding: 0.1rem 0 0.2rem; }
.atlas-legend button { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.2rem 0; border: 0; background: transparent; color: var(--text-secondary); font: 0.59rem var(--exhibit-mono); transition: opacity 100ms ease; }
.atlas-legend button::before { content: ""; width: 5px; height: 5px; background: var(--legend-color); }
.atlas-legend.has-selection button[aria-pressed="false"] { opacity: 0.35; }
.atlas-legend button:hover { color: var(--text-primary); }
.atlas-legend-short { display: none; }
.atlas-plots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; }
.atlas-panel { position: relative; min-width: 0; border-top: 1px solid var(--border-color-translucent); }
.atlas-panel:not(:nth-child(3)) { border-right: 1px solid var(--border-color-translucent); }
.atlas-field { position: absolute; z-index: 1; top: 0.5rem; left: 0.75rem; border: 0; border-bottom: 1px solid transparent; padding: 0 0 0.15rem; background: var(--bg-primary); color: var(--text-muted); font: 0.69rem var(--exhibit-mono); }
.atlas-field[aria-pressed="true"] { color: var(--text-primary); border-bottom-color: var(--brand-accent); }
.atlas-field:hover { color: var(--brand-accent); }
.atlas-panel canvas { display: block; width: 100%; height: 218px; touch-action: pan-y; cursor: grab; }
.atlas-panel canvas.is-dragging { cursor: grabbing; }
.atlas-panel canvas.is-hovering { cursor: pointer; }
.atlas-hover { position: absolute; z-index: 5; width: 270px; max-width: calc(100% - 16px); padding: 0.35rem 0.6rem; background: var(--bg-primary); border: 1px solid var(--border-color); pointer-events: none; color: var(--text-primary); }
.atlas-hover-source { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-bottom: 0.2rem; font: 0.56rem/1.5 var(--exhibit-mono); color: var(--text-muted); }
.atlas-hover p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; margin: 0; font-size: 0.7rem; line-height: 1.5; }
.atlas-hover.is-missing p, .atlas-extraction.is-missing #research-text { color: var(--text-muted); }
.atlas-help { margin: 0; padding: 0.55rem 0 0.65rem; font: 0.59rem/1.7 var(--exhibit-mono); color: var(--text-muted); }
.atlas-extraction { border-top: 1px solid var(--border-color-translucent); padding-top: 0.35rem; }
.atlas-extraction-heading { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.atlas-source { display: flex; flex-wrap: wrap; align-items: center; gap: 0.15rem 0.6rem; font: 0.63rem/1.6 var(--exhibit-mono); color: var(--text-muted); }
#research-identity { color: var(--text-secondary); }
#research-direction { color: var(--brand-accent); }
#research-direction[data-direction="Short"] { color: var(--slot-color-5); }
#research-direction[data-direction="Not stated"] { color: var(--atlas-neutral); }
.atlas-extraction > p { margin: 0 0 0.6rem; min-height: 5.25em; font-size: 0.81rem; line-height: 1.75; color: var(--text-primary); }
.atlas-extraction-label { display: inline; margin-right: 0.6rem; font: 0.66rem var(--exhibit-mono); color: var(--brand-accent); text-transform: uppercase; }
.research-atlas .exhibit-footnote { max-width: 100%; }
.research-atlas:fullscreen { width: 100%; height: 100%; padding: 1.5rem 2rem; overflow-y: auto; background: var(--bg-primary); }
.research-atlas:fullscreen .atlas-panel canvas { height: max(218px, min(calc(100dvh - 300px), 32vw)); }
.research-atlas:fullscreen .atlas-extraction > p { min-height: 0; font-size: 0.85rem; }
.research-atlas:fullscreen .atlas-hover { width: 340px; padding: 0.6rem 0.8rem; }
.research-atlas:fullscreen .atlas-hover p { font-size: 0.8rem; }
@media (max-width: 575.98px) {
    .atlas-count { display: none; }
    .atlas-toolbar { font-size: 0.63rem; gap: 0 0.4rem; }
    .atlas-tools .exhibit-icon-button { width: 26px; }
    .atlas-legend { gap: 0.05rem 0.4rem; }
    .atlas-legend button { font-size: 0.56rem; }
    .atlas-legend.has-neutral [data-group="Not stated"] .atlas-legend-label { display: none; }
    .atlas-legend.has-neutral [data-group="Not stated"] .atlas-legend-short { display: inline; }
    .atlas-panel canvas { height: 190px; }
    .atlas-field { left: 0.5rem; font-size: 0.65rem; }
    .atlas-help { font-size: 0.54rem; }
    .atlas-extraction > p { font-size: 0.78rem; }
    .atlas-hover { padding: 0.4rem; }
    .atlas-hover p { font-size: 0.65rem; -webkit-line-clamp: 2; line-clamp: 2; }
    .research-atlas:fullscreen { padding: 1rem; }
}
@media (max-width: 375.98px) {
    .atlas-legend.has-neutral .atlas-legend-label { display: none; }
    .atlas-legend.has-neutral .atlas-legend-short { display: inline; }
}
