details.goal-block {}
details.goal-block > summary {
    cursor: pointer;
    list-style: none;
    user-select: none;
    display: flex;
    align-items: flex-start;
    padding: 4px 0;
    transition: color 0.2s;
}
details.goal-block > summary::before {
    content: "▶";
    color: var(--text-muted);
    margin: 4px;
    margin-left: 2px;
    transition: transform 0.2s ease;
}
details.goal-block[open] > summary::before {
    transform: rotate(90deg);
}

.goal-content {
    margin: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: 0.3s;
}
.goal-content.with-line {
    margin: 10px 0 12px 8px;
    padding-left: 16px;
    border-left: 2px solid var(--border-color-light);
}
.goal-content.with-line:hover {
    border-left-color: var(--border-color);
}