.Life-StructureCanvas-Root{position:relative;overflow:hidden;min-height:0}.Life-StructureCanvas{display:block;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.Life-NodeMark{cursor:pointer;stroke-width:var(--timeline-stroke-width-bold);transition:fill var(--duration-instant, 0ms);pointer-events:all}.Life-NodeMark--Identified{fill:var(--swatch-slot);stroke:var(--swatch-slot)}.Life-NodeMark--Selected{stroke-width:calc(var(--timeline-stroke-width-bold) + 1px)}.Life-NodeMark-HitArea{r:calc(var(--touch-target-min-height) / 2);fill:transparent;cursor:pointer;pointer-events:all}.Life-NodeMark-Ring{stroke:var(--swatch-slot);stroke-width:var(--timeline-stroke-width);pointer-events:none}.Life-NodeMark-Label{fill:var(--node-label);font-size:var(--font-size-xs);text-anchor:start;pointer-events:none;transition:fill var(--duration-instant, 0ms)}.Life-NodeMark-Label--Active{fill:var(--text-strong);font-weight:var(--font-weight-semibold)}.Life-DependencyLine{fill:none;stroke:var(--swatch-slot);stroke-width:var(--timeline-stroke-width-bold);pointer-events:none}.Life-BranchHeadMark-Icon{font-size:var(--mark-icon-size);text-anchor:middle;pointer-events:none}.Life-BranchHeadMark-Label{fill:var(--node-label);font-size:var(--font-size-xs);text-anchor:start;pointer-events:none}.Life-LifeLineSegment{fill:none;stroke-width:var(--timeline-stroke-width-bold);pointer-events:none}.Life-LifeLineSegment-HitArea{fill:none;stroke:transparent;stroke-width:var(--touch-target-min-height);cursor:pointer;pointer-events:all}.Life-Structure-EmptyState{position:absolute;inset:0;color:var(--text-soft);font-size:var(--font-size-sm);pointer-events:none}
