.map-panel { position: relative; }
.project-tools { flex-wrap: wrap; }
.project-tools #project-structure { font-weight: 650; }
.phase-list button[data-phase-style] {
  background: var(--phase-fill);
  border-left: 3px solid var(--phase-outline);
}
.phase-list button[data-phase-style][aria-current=true] {
  box-shadow: inset 0 0 0 1px var(--phase-outline);
}
.detail-header[data-phase-style] {
  border-left: 4px solid var(--phase-outline);
  background: linear-gradient(135deg,var(--phase-fill),transparent);
}
.core-module { cursor: move; outline: none; }
.core-module polygon { stroke-linejoin: round; }
.core-module:hover polygon,.core-module:focus-visible polygon { stroke-width: 4; }
.core-module-kind { font-size: 10px; letter-spacing: 1.4px; fill: #a4baca; }
.core-module-title { font-size: 17px; font-weight: 650; fill: #eff5fa; }
.stair-variant .stair-header-plate { fill: var(--phase-fill); stroke: var(--phase-outline); }
.stair-variant .stair-inside,.stair-variant .stair-outside {
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}
.stair-variant .stair-core-ground { fill: var(--core-fill); }
.stair-variant .stair-core-rim { stroke: var(--core-outline); }
.stair-variant .stair-core-plaque rect {
  fill: var(--core-fill);
  stroke: var(--core-outline);
}
.map-canvas>.empty { padding-top: 100px; }

.reference-phase .reference-stage-shape { fill: var(--phase-fill); }
.reference-phase.journey-active .reference-stage-shape {
  fill: color-mix(in srgb,var(--phase-color) 16%,var(--phase-fill));
}
.reference-hub rect { stroke: var(--core-outline); }
.reference-hub rect:last-of-type { fill: var(--core-fill); }
